Hello Ahmad, On Tue, 8 Mar 2022 at 10:51, Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> wrote: > > Hello Sudeep, > > On 01.03.22 16:12, Sudeep Holla wrote: > > > > Hi Ahmad, > > > > On Mon, Feb 28, 2022 at 05:01:39PM +0100, Ahmad Fatoum wrote: > >> Hello Etienne, > >> > >> On 28.10.21 16:00, Etienne Carriere wrote: > >>> Introduce compatible "linaro,scmi-optee" for SCMI transport channel > >>> based on an OP-TEE service invocation. The compatible mandates a > >>> channel ID defined with property "linaro,optee-channel-id". > >> > > > > Not sure if Etienne's reply addressed your queries/concerns correctly. > > I thought I will add my view anyways. > > > >> I just found this thread via the compatible in the STM32MP131 patch set: > >> https://lore.kernel.org/all/20220225133137.813919-1-gabriel.fernandez@xxxxxxxxxxx/ > >> > >> Linux doesn't care whether PSCI is provided by TF-A, OP-TEE or something > >> else, so there is just the arm,psci* compatible. > >> > > > > Correct, the interface to the kernel is fixed and hence we must be able > > to manage with the standard and fixed sole set of bindings for the same. > > > >> What's different about SCMI that this is not possible? Why couldn't the > >> existing binding and driver be used to communicate with OP-TEE as secure > >> monitor as well? > >> > > > > However with SCMI, the spec concentrates and standardises all the aspects > > of the protocol used for the communication while it allows the transport > > used for such a communication to be implementation specific. It does > > address some standard transports like mailbox and PCC(ACPI). However, > > because of the flexibility and also depending on the hardware(or VM), > > different transports have been added to the list. SMC/HVC was the one, > > followed by the virtio and OPTEE. While I agree SMC/HVC and OPTEE seem > > to have lot of common and may have avoided separate bindings. > > > > However the FIDs for SMC/HVC is vendor defined(the spec doesn't cover this > > and hence we utilised/exploited DT). Some vendors wanted interrupt support > > too which got added. OPTEE eliminates the need for FID and can also provide > > dynamic shared memory info. In short, it does differ in a way that the driver > > needs to understand the difference and act differently with each of the > > unique transports defined in the binding. > > > > Hope that explains and addresses your concern. > > Thanks for the elaborate answer. I see now why it's beneficial to have > an OP-TEE transport in general. I don't yet see the benefit to use it > in the STM32MP13x instead of SMCs like with STM32MP15x, but that a discussion > that I need to have in the aforementioned thread. Some SCMI operations in OP-TEE need to execute in a threaded context (preemptible, ...). There is no SMC function ID defined for an SCMI thread entry in OP-TEE. We rather use standard invocation of a TEE service: opening a session and invoking commands. Invoked commands are executed in an OP-TEE native threaded context. The service accessed is referred to as the OP-TEE SCMI PTA. As for STM32MP15x, one willing to extend resources assigned to secure world may also need to move mp15 SCMI from SMC transport to optee transport. Regards, Etienne > > Thanks again! > Ahmad > > -- > Pengutronix e.K. | | > Steuerwalder Str. 21 | http://www.pengutronix.de/ | > 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | > Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |