Re: [PATCH v9 5/9] mailbox: add CIX mailbox driver
From: "Arnd Bergmann" <arnd@arndb.de>
Date: 2025-07-16 07:20:17
Also in:
linux-devicetree, lkml
On Wed, Jul 16, 2025, at 04:28, Guomin chen wrote:
On Tue, Jul 15, 2025 at 05:11:01PM -0500, Jassi Brar wrote:quoted
On Mon, Jul 14, 2025 at 10:40 AM Arnd Bergmann [off-list ref] wrote:quoted
My main worry here is that the types are all quite different: while the doorbell and fast mailboxes are what a lot of other drivers have, the FIFO mode does not seem to be a good fit for the mailbox subsystem but instead looks like a more generic firmware interface with variable length messages. For those, I think a higher-level driver with fixed data structures passed through the hardware interface seems more appropriate.Yes. But sometimes when the data structures of a protocol are not bigger than FIFO depth, the platform may choose to use the FIFO mode. I see it as platform dependent.quoted
Are there any other mailbox drivers that just use the mailbox to tunnel variable-length messages?From a quick look, Armada 37xx and Hi6220 have fifo though they fill them up fully for each transfer.Yes, both Armada 37xx and Hi6220 support FIFO functionality, and they fill the FIFO with each transfer. Since the cix mailbox hardware supports messages with a maximum length of 128 bytes, different clients transmit messages of varying lengths, such as the cix DSP using 8 bytes, the cix sensorhub using 12 bytes, etc. Therefore, the cix mailbox driver has been modified to support variable- length messages of up to 128 bytes. This allows for more compact and flexible support of various clients.
Thanks, this makes sense to me, and I have no other objections if
this is an established way to use the subsystem. I wonder if there
is a way to abstract it further though, since it would appear that
the same thing should be possible on any device that has a FIFO
to buffer more than a single fixed-length message.
Jassi, are there any remaining issues on your side that need to
be fixed before merging the initial driver? It would be nice if I
could merge all nine patches through the soc tree for 6.17 if the
current version, or a feature-reduced variant of the mailbox
driver is ok.
Arnd