Hello Etienne, On 08.03.22 11:18, Etienne Carriere wrote: > 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. Yes. Makes sense. Thanks again for explaining, Ahmad > > 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 | > etienn -- 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 |