From: Douglas Anderson <dianders@chromium.org>
To: jassisinghbrar@gmail.com
Cc: Douglas Anderson <dianders@chromium.org>,
Frank.Li@nxp.com, Santosh Shilimkar <ssantosh@kernel.org>,
Sascha Hauer <s.hauer@pengutronix.de>,
andersson@kernel.org, arm-scmi@vger.kernel.org,
cristian.marussi@arm.com, daniel.baluta@nxp.com,
festevam@gmail.com, imx@lists.linux.dev,
jay.buddhabhatti@amd.com, jonathanh@nvidia.com,
kernel@pengutronix.de, konradybcio@kernel.org, krzk@kernel.org,
lenb@kernel.org, linux-acpi@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-remoteproc@vger.kernel.org, linux-tegra@vger.kernel.org,
lucaswei@google.com, marco.crivellari@suse.com,
mathieu.poirier@linaro.org, michal.simek@amd.com, nm@ti.com,
rafael@kernel.org, robh@kernel.org, shawn.guo@linaro.org,
sudeep.holla@kernel.org, tglx@kernel.org,
thierry.reding@gmail.com
Subject: [PATCH v3 00/15] mailbox: Stop sending NULL mailbox messages
Date: Mon, 16 Feb 2026 10:09:37 -0800 [thread overview]
Message-ID: <20260216181002.3475421-1-dianders@chromium.org> (raw)
As talked about in the first patch in this series, passing NULL as the
'mssg' argument to mbox_send_message() ends up causing confusion and
quirky behavior inside the mailbox core. Despite this, there are a
number of drivers that pass NULL.
It is plausible that some of the drivers passing NULL may have been
taking advantage of the quirks of the mailbox core. Specifically, they
may have been taking advantage that calling "tx_done" wasn't truly
necessary for NULL messages (it was a noop) or that NULL messages were
passed onto the mailbox controller right away without queuing.
This series introduces a new API call: mbox_ring_doorbell(). The new
API call tries to mimic the specific quirks that were helpful in the
old behavior and it's expected to be a nearly drop-in replacement.
There are some subtle differences between the new call and the old
behavior, but it's expected that all of these differences are only for
cases where the old behavior made little sense. The description of the
first patch details these differences.
The series attempts to convert all in-tree users to stop passing NULL
for mssg. As per above, there are some slight differences in behavior.
If any of the patches are causing problems, they can safely be
reverted while debugging the problems. Eventually, all code should be
converted over to stop passing NULL mssg.
Changes in v3:
- Suggest mbox_ring_doorbell in the warning message
- Updated patch description based on Cristian's response.
Changes in v2:
- Instead of just documenting NULL, introduce a new function
Douglas Anderson (15):
mailbox: Deprecate NULL mbox messages; Introduce mbox_ring_doorbell()
ACPI: PCC: Use mbox_ring_doorbell() instead of NULL message
firmware: arm_scmi: Use mbox_ring_doorbell() instead of NULL message
firmware: imx-dsp: Use mbox_ring_doorbell() instead of NULL message
firmware: tegra: bpmp: Use mbox_ring_doorbell() instead of NULL
message
irqchip/qcom-mpm: Use mbox_ring_doorbell() instead of NULL message
remoteproc: xlnx: Use mbox_ring_doorbell() instead of NULL message
rpmsg: qcom_glink_rpm: Use mbox_ring_doorbell() instead of NULL
message
rpmsg: glink: smem: Use mbox_ring_doorbell() instead of NULL message
rpmsg: qcom_smd: Use mbox_ring_doorbell() instead of NULL message
soc: qcom: aoss: Use mbox_ring_doorbell() instead of NULL message
soc: qcom: smp2p: Use mbox_ring_doorbell() instead of NULL message
soc: qcom: smsm: Use mbox_ring_doorbell() instead of NULL message
soc: ti: wkup_m3_ipc: Use mbox_ring_doorbell() instead of NULL message
drivers: firmware: xilinx: Use mbox_ring_doorbell() instead of NULL
message
drivers/acpi/acpi_pcc.c | 4 +-
.../firmware/arm_scmi/transports/mailbox.c | 8 +-
drivers/firmware/imx/imx-dsp.c | 2 +-
drivers/firmware/tegra/bpmp-tegra186.c | 4 +-
drivers/irqchip/irq-qcom-mpm.c | 2 +-
drivers/mailbox/mailbox.c | 82 ++++++++++++++++++-
drivers/remoteproc/xlnx_r5_remoteproc.c | 2 +-
drivers/rpmsg/qcom_glink_rpm.c | 3 +-
drivers/rpmsg/qcom_glink_smem.c | 3 +-
drivers/rpmsg/qcom_smd.c | 13 +--
drivers/soc/qcom/qcom_aoss.c | 3 +-
drivers/soc/qcom/smp2p.c | 8 +-
drivers/soc/qcom/smsm.c | 8 +-
drivers/soc/ti/wkup_m3_ipc.c | 10 +--
drivers/soc/xilinx/zynqmp_power.c | 2 +-
include/linux/mailbox_client.h | 1 +
include/linux/mailbox_controller.h | 4 +-
17 files changed, 108 insertions(+), 51 deletions(-)
--
2.53.0.273.g2a3d683680-goog
next reply other threads:[~2026-02-16 18:11 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-16 18:09 Douglas Anderson [this message]
2026-02-16 18:09 ` [PATCH v3 01/15] mailbox: Deprecate NULL mbox messages; Introduce mbox_ring_doorbell() Douglas Anderson
2026-03-10 3:23 ` Jassi Brar
2026-03-10 15:08 ` Doug Anderson
2026-02-16 18:09 ` [PATCH v3 05/15] firmware: tegra: bpmp: Use mbox_ring_doorbell() instead of NULL message Douglas Anderson
2026-03-09 15:19 ` [PATCH v3 00/15] mailbox: Stop sending NULL mailbox messages Doug Anderson
2026-03-11 0:16 ` Doug Anderson
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=20260216181002.3475421-1-dianders@chromium.org \
--to=dianders@chromium.org \
--cc=Frank.Li@nxp.com \
--cc=andersson@kernel.org \
--cc=arm-scmi@vger.kernel.org \
--cc=cristian.marussi@arm.com \
--cc=daniel.baluta@nxp.com \
--cc=festevam@gmail.com \
--cc=imx@lists.linux.dev \
--cc=jassisinghbrar@gmail.com \
--cc=jay.buddhabhatti@amd.com \
--cc=jonathanh@nvidia.com \
--cc=kernel@pengutronix.de \
--cc=konradybcio@kernel.org \
--cc=krzk@kernel.org \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-remoteproc@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=lucaswei@google.com \
--cc=marco.crivellari@suse.com \
--cc=mathieu.poirier@linaro.org \
--cc=michal.simek@amd.com \
--cc=nm@ti.com \
--cc=rafael@kernel.org \
--cc=robh@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=shawn.guo@linaro.org \
--cc=ssantosh@kernel.org \
--cc=sudeep.holla@kernel.org \
--cc=tglx@kernel.org \
--cc=thierry.reding@gmail.com \
/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