[PATCH RESEND,v6 2/8] dt-bindings: mailbox: Add property for CMDQ secure driver
Conor Dooley
conor at kernel.org
Mon May 27 10:36:30 PDT 2024
On Sun, May 26, 2024 at 10:44:37PM +0800, Jason-JH.Lin wrote:
> 1. Add mboxes property to define a GCE loopping thread as a secure IRQ
> handler.
> The CMDQ secure driver requests a mbox channel and sends a looping
> command to the GCE thread. The looping command will wait for a secure
> packet done event signal from secure world and then jump back to the
> first instuction. Each time it waits for an event, it notifies the
> CMDQ driver to perform the same action as the IRQ handler.
>
> 2. Add gce-events property from gce-props.yaml to define a
> secure packet done signal in secure world.
> There are 1024 events IDs for GCE to use to execute instructions in
> the specific event happened. These events could be signaled by HW or SW
> and their value would be different in different SoC because of HW event
> IDs distribution range from 0 to 1023.
> If we set a static event ID: 855 for mt8188, it might be conflict the
> event ID original set in mt8195.
Two different SoCs, two different compatibles, no problem.
I'm almost certain you previously told me that the firmware changing
could result in a different event ID, but I see no mention of that here.
The commit messages makes it seem like this can be determined by the
compatible, so either give me a commit message that explains why the
compatible is not sufficient or drop the patch.
> So we define an event ID that will be set when GCE runs to the end of
> secure cmdq packet in the secure world.
>
> This can reduce the latency of software communication between normal
> world and secure world. In addition, we can also remove the complex
> logic after the secure packet done in the secure world.
>
> Signed-off-by: Jason-JH.Lin <jason-jh.lin at mediatek.com>
> Signed-off-by: Hsiao Chien Sung <shawn.sung at mediatek.com>
> ---
> .../devicetree/bindings/mailbox/mediatek,gce-mailbox.yaml | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/mailbox/mediatek,gce-mailbox.yaml b/Documentation/devicetree/bindings/mailbox/mediatek,gce-mailbox.yaml
> index cef9d7601398..6e5e848d61d9 100644
> --- a/Documentation/devicetree/bindings/mailbox/mediatek,gce-mailbox.yaml
> +++ b/Documentation/devicetree/bindings/mailbox/mediatek,gce-mailbox.yaml
> @@ -49,6 +49,10 @@ properties:
> items:
> - const: gce
>
> + mboxes:
> + items:
> + - description: GCE looping thread as a secure IRQ handler
Why is this needed? It's going to be a reference to itself, right?
Why can't you just reserve a channel in the driver?
Thanks,
Conor.
> +
> required:
> - compatible
> - "#mbox-cells"
> @@ -57,6 +61,8 @@ required:
> - clocks
>
> allOf:
> + - $ref: /schemas/mailbox/mediatek,gce-props.yaml#
> +
> - if:
> not:
> properties:
> @@ -67,7 +73,7 @@ allOf:
> required:
> - clock-names
>
> -additionalProperties: false
> +unevaluatedProperties: false
>
> examples:
> - |
> --
> 2.18.0
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-mediatek/attachments/20240527/4e01bd82/attachment.sig>
More information about the Linux-mediatek
mailing list