From: Debbie Horsfall <debbie.horsfall@arm.com>
To: Cristian Marussi <cristian.marussi@arm.com>,
Sudeep Holla <sudeep.holla@kernel.org>
Cc: Andre Przywara <andre.przywara@arm.com>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Liviu Dudau <liviu.dudau@arm.com>,
Lorenzo Pieralisi <lpieralisi@kernel.org>,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 2/2] arm64: dts: zena: Add support for Zena CSS
Date: Thu, 5 Feb 2026 10:47:28 +0000 [thread overview]
Message-ID: <8501be99-e774-4799-ae6a-01ab31020864@arm.com> (raw)
In-Reply-To: <aYHmDTboOtkgac00@pluto>
On 03/02/2026 12:11, Cristian Marussi wrote:
> On Fri, Jan 30, 2026 at 12:34:31PM +0000, Sudeep Holla wrote:
>>
>> +Cristian(in case I am talking no sense)
>>
>> On Fri, Jan 30, 2026 at 11:31:25AM +0100, Andre Przywara wrote:
>>>
>>> So do you need just one "tx", but "rx" plus "rx_reply"? Which isn't valid in
>>> the current binding?
>>> If that's the case, then we would need a patch to relax the binding and
>>> allowing this combination as well.
>>> Looking into the kernel code it looks like the SCMI driver doesn't use
>>> mbox-names, but explicitly expects assignments depending on the number of
>>> mboxes? Somewhat confusing ...
>
> Hi,
>
> so the mbox-names are NOT mandatory, since the SCMI stack initially did
> NOT identify mboxes by names and such decision pre-dates me so I am not
> sure about the why...
>
> ...anyway, when unidirectional mailboxes hw came along, in order to add
> clarity, WHILE maintaining backward compatibility, mbox-names were added
> only as optional and the stack really does NOT use them; the only thing
> that matters is the number and order of mboxes AND shmem areas: only the
> combination described in the mboxes binding description are allowed and
> accepted in order to manage both the case of unidirectional and
> bidirectional mailboxes while surviving backward compatibility.
>
>>>
>>
>> It is generally transmitted via tx, and tx_reply is necessary when the
>> platform has unidirectional channels. tx_reply is used to determine when the
>> synchronization commands have completed, without requiring polling of the
>> shared memory. rx_reply is necessary only if the platform firmware expects
>> it and doesn't poll the shared memory for OSPM/agent acknowledgement.
>
> In SCMI you have generally A2P (Agent-to-Platform) bidirectional channels
> to send commands and receive related replies using one dedicated shmem and,
> optionally, a distinct dedicated unidirectional channel P2A, with a
> distinct dedicated shmem, for receiving notifications and/or delayed
> responses sent asynchronously by the platform.
>
> These two channels, A2P and P2A, maps in the SCMI stack (for historical
> reasons) respectively to TX and RX naming.
>
> If the underlying transport is based on birectional mailboxes you can
> happily have 2 mboxes "tx", "rx" with 2 dedicated mbox areas.
>
> Instead if your mailboxes are unidirectional like MHUv3, you will need
> effectively 2 mboxes to represent the 2 parts of the A2P birectional
> channel AND one mailbox to represent the P2A unidirectional channel,
> exactly like you do.
>
> So, if you want to add the optional mbox-names would be:
>
> firmware {
> scmi {
> compatible = "arm,scmi";
> mbox-names = "tx", "tx_reply", "rx";
> mboxes = <&mbox_db_tx 0 0 0 &mbox_db_rx 0 0 0 &mbox_db_rx 0 0 2>
> shmem = <&scmi_shmem_tx &scmi_shmem_rx>;
>
>
> ...since the first 2 mboxes effectively represents the 2 unidirectional
> sides of the A2P channel, with first being the cmd-request direction and
> the second being the cmd-reply direction, while the third mbox is just the
> P2A unidrectional channel...
>
> ....so it is fine, even though admittedly fuorviating, that the tx_reply
> is attached to a db_rx block, since it is exactly what represents: the
> reply to a previously sent command.
>
> Anyway, being the names optional, the only thing that really matters in all
> of the above is that the numbers of mboxes and shmems matches:
>
> 3 mbox / 2 shmem => SCMI TX and RX over 3 mailbox unidirectional channels
>
> The additional optional rx_reply mboxes was added to represent P2A
> channels that have an completion interrupt.
>
> All of this madness was the best way I could find to address the problem
> of supporting such new unidirectional mailboxes in the SCMI while NOT
> breaking backward compatibility in the absence of mandatory naming from
> the start.
>
> Hope to have shed a light, beside having annoyed you all with all of the
> above flood of words :P
>
> Thanks,
> Cristian
>
Hi Cristian,
Thanks very much for the detailed explanation, all makes sense. I will
add those mbox-names in accordance.
--
Kind regards,
Debbie
next prev parent reply other threads:[~2026-02-05 10:48 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-23 17:37 [PATCH 0/2] Add Arm Zena CSS support Debbie Horsfall
2026-01-23 17:37 ` [PATCH 1/2] dt-bindings: arm: Add Zena CSS compatibility Debbie Horsfall
2026-01-26 15:46 ` Rob Herring (Arm)
2026-02-05 12:29 ` Krzysztof Kozlowski
2026-02-05 14:26 ` Sudeep Holla
2026-01-23 17:37 ` [PATCH 2/2] arm64: dts: zena: Add support for Zena CSS Debbie Horsfall
2026-01-27 13:22 ` Andre Przywara
2026-01-30 9:58 ` Debbie Horsfall
2026-01-30 10:31 ` Andre Przywara
2026-01-30 12:34 ` Sudeep Holla
2026-02-03 12:11 ` Cristian Marussi
2026-02-05 10:47 ` Debbie Horsfall [this message]
2026-02-05 11:08 ` Sudeep Holla
2026-02-05 11:24 ` Andre Przywara
2026-02-05 12:21 ` Sudeep Holla
2026-02-05 12:35 ` Krzysztof Kozlowski
2026-02-05 20:12 ` Sudeep Holla
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=8501be99-e774-4799-ae6a-01ab31020864@arm.com \
--to=debbie.horsfall@arm.com \
--cc=andre.przywara@arm.com \
--cc=conor+dt@kernel.org \
--cc=cristian.marussi@arm.com \
--cc=devicetree@vger.kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=liviu.dudau@arm.com \
--cc=lpieralisi@kernel.org \
--cc=robh@kernel.org \
--cc=sudeep.holla@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