From: "Jason-JH Lin (林睿祥)" <Jason-JH.Lin@mediatek.com>
To: "conor@kernel.org" <conor@kernel.org>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"robh+dt@kernel.org" <robh+dt@kernel.org>,
"Singo Chang (張興國)" <Singo.Chang@mediatek.com>,
"linux-mediatek@lists.infradead.org"
<linux-mediatek@lists.infradead.org>,
"Jason-ch Chen (陳建豪)" <Jason-ch.Chen@mediatek.com>,
"chunkuang.hu@kernel.org" <chunkuang.hu@kernel.org>,
"Shawn Sung (宋孝謙)" <Shawn.Sung@mediatek.com>,
"Nancy Lin (林欣螢)" <Nancy.Lin@mediatek.com>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"conor+dt@kernel.org" <conor+dt@kernel.org>,
"dri-devel@lists.freedesktop.org"
<dri-devel@lists.freedesktop.org>,
Project_Global_Chrome_Upstream_Group
<Project_Global_Chrome_Upstream_Group@mediatek.com>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"krzysztof.kozlowski+dt@linaro.org"
<krzysztof.kozlowski+dt@linaro.org>,
"matthias.bgg@gmail.com" <matthias.bgg@gmail.com>,
"jassisinghbrar@gmail.com" <jassisinghbrar@gmail.com>,
"angelogioacchino.delregno@collabora.com"
<angelogioacchino.delregno@collabora.com>
Subject: Re: [PATCH RESEND,v6 2/8] dt-bindings: mailbox: Add property for CMDQ secure driver
Date: Tue, 28 May 2024 14:38:46 +0000 [thread overview]
Message-ID: <3541454c6f60b8a16f4930dd91173ed24c9b5fd5.camel@mediatek.com> (raw)
In-Reply-To: <20240527-bullion-slapping-d35fcddb56d5@spud>
Hi Conor,
On Mon, 2024-05-27 at 18:36 +0100, Conor Dooley wrote:
> 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.
Yes, it could be, but we don't use it that way.
> 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.
>
Yes, this can be determined by compatible in CMDQ mailbox driver,
so I think it's possible to put this in the CMDQ mailbox driver data
and configure by different SoC.
The problem is these events are defined in include/dt-
bindings/mailbox/mediatek,mt8188-gce.h and include/dt-
bindings/gce/mt8195-gce.h.
I can only use them in their mt8188.dts or mt8195.dts.
If I want to use the same event define in 2 different headers in the
same CMDQ mailbox driver, I think I just can parse their dts to get the
corresponding one.
Do you know how to generally deal with this problem?
Or I can just use the number of event ID in driver data without the
event define in dt-bindings header.
> > 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@mediatek.com>
> > Signed-off-by: Hsiao Chien Sung <shawn.sung@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?
>
I think you're right.
CMDQ mailbox driver can reserved a channel itself and it will know
which channel has occupied.
CMDQ users will request fail if they want to use the reserved channel.
I'll drop this and move it into CMDQ mailbox driver data for mt8188 and
mt8195.
Regards,
Jason-JH.Lin
> 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 prev parent reply other threads:[~2024-05-28 14:38 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-26 14:44 [PATCH RESEND,v6 0/8] Add CMDQ secure driver for SVP Jason-JH.Lin
2024-05-26 14:44 ` [PATCH RESEND,v6 1/8] dt-bindings: gce: mt8195: Add CMDQ_SYNC_TOKEN_SECURE_THR_EOF event id Jason-JH.Lin
2024-05-26 14:44 ` [PATCH RESEND,v6 2/8] dt-bindings: mailbox: Add property for CMDQ secure driver Jason-JH.Lin
2024-05-26 16:13 ` Rob Herring (Arm)
2024-05-27 5:21 ` Jason-JH Lin (林睿祥)
2024-05-27 17:36 ` Conor Dooley
2024-05-28 14:38 ` Jason-JH Lin (林睿祥) [this message]
2024-05-28 14:59 ` Conor Dooley
2024-05-28 15:10 ` Jason-JH Lin (林睿祥)
2024-05-26 14:44 ` [PATCH RESEND,v6 3/8] soc: mediatek: cmdq: Add cmdq_pkt_logic_command to support math operation Jason-JH.Lin
2024-05-26 14:44 ` [PATCH RESEND,v6 4/8] mailbox: mtk-cmdq: Support GCE loop packets in interrupt handler Jason-JH.Lin
2024-05-26 14:44 ` [PATCH RESEND,v6 5/8] mailbox: mediatek: Move reuseable definition to header for secure driver Jason-JH.Lin
2024-05-26 14:44 ` [PATCH RESEND,v6 6/8] mailbox: mediatek: Add CMDQ secure mailbox driver Jason-JH.Lin
2024-05-27 3:44 ` [PATCH RESEND, v6 " CK Hu (胡俊光)
2024-05-27 5:04 ` Jason-JH Lin (林睿祥)
2024-05-28 2:19 ` CK Hu (胡俊光)
2024-05-29 14:33 ` Jason-JH Lin (林睿祥)
2024-05-28 3:17 ` CK Hu (胡俊光)
2024-05-28 15:33 ` Jason-JH Lin (林睿祥)
2024-06-17 7:18 ` CK Hu (胡俊光)
2024-05-26 14:44 ` [PATCH RESEND,v6 7/8] mailbox: mediatek: Add secure CMDQ driver support for CMDQ driver Jason-JH.Lin
2024-05-26 14:44 ` [PATCH RESEND,v6 8/8] soc: mediatek: mtk-cmdq: Add secure cmdq_pkt APIs Jason-JH.Lin
2024-05-28 3:01 ` CK Hu (胡俊光)
2024-05-28 15:33 ` Jason-JH Lin (林睿祥)
2024-05-29 1:58 ` CK Hu (胡俊光)
2024-05-29 14:49 ` Jason-JH Lin (林睿祥)
2024-06-13 10:58 ` [PATCH RESEND,v6 0/8] Add CMDQ secure driver for SVP Pavel Machek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3541454c6f60b8a16f4930dd91173ed24c9b5fd5.camel@mediatek.com \
--to=jason-jh.lin@mediatek.com \
--cc=Jason-ch.Chen@mediatek.com \
--cc=Nancy.Lin@mediatek.com \
--cc=Project_Global_Chrome_Upstream_Group@mediatek.com \
--cc=Shawn.Sung@mediatek.com \
--cc=Singo.Chang@mediatek.com \
--cc=angelogioacchino.delregno@collabora.com \
--cc=chunkuang.hu@kernel.org \
--cc=conor+dt@kernel.org \
--cc=conor@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=jassisinghbrar@gmail.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=matthias.bgg@gmail.com \
--cc=robh+dt@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).