Skip to content

mailbox: rp1: Don't poll for TX completion#7501

Merged
pelwell merged 2 commits into
raspberrypi:rpi-6.18.yfrom
pelwell:rp1nopoll
Jul 15, 2026
Merged

mailbox: rp1: Don't poll for TX completion#7501
pelwell merged 2 commits into
raspberrypi:rpi-6.18.yfrom
pelwell:rp1nopoll

Conversation

@pelwell

@pelwell pelwell commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

The RP1 mailbox + firmware interface is currently synchronous, with
only one outstanding message at a time and the same buffer used for the
reply. It is therefore of no use to know when the transmit has
completed, only that the reply is ready. This is TXDONE_BY_ACK mode,
which is automatically selected if neither txdone_irq nor txdone_poll
are provided.

This change increases performance and reduces hrtimer usage
significantly, but it requires the mailbox client to call
mbox_client_txdone after each transmission.

pelwell added 2 commits July 15, 2026 11:45
The RP1 mailbox + firmware interface is currently synchronous, with
only one outstanding message at a time and the same buffer used for the
reply. It is therefore of no use to know when the transmit has
completed, only that the reply is ready. This is TXDONE_BY_ACK mode,
which is automatically selected if neither txdone_irq nor txdone_poll
are provided.

This change increases performance and reduces hrtimer usage
significantly, but it requires the mailbox client to call
mbox_client_txdone after each transmission.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
Now that TX polling has been disabled and the mailbox is running in
TXDONE_BY_ACK mode, call mbox_client_txdone after each transmission to
tell the mailbox framework that the transmission has completed.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
@pelwell

pelwell commented Jul 15, 2026

Copy link
Copy Markdown
Contributor Author

This PR replaces #7448.

@pelwell pelwell merged commit 636d6cb into raspberrypi:rpi-6.18.y Jul 15, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants