public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/15] mailbox: Stop sending NULL mailbox messages
@ 2026-02-08  4:01 Douglas Anderson
  2026-02-08  4:01 ` [PATCH v2 01/15] mailbox: Deprecate NULL mbox messages; Introduce mbox_ring_doorbell() Douglas Anderson
                   ` (14 more replies)
  0 siblings, 15 replies; 24+ messages in thread
From: Douglas Anderson @ 2026-02-08  4:01 UTC (permalink / raw)
  To: jassisinghbrar
  Cc: Douglas Anderson, Frank.Li, Santosh Shilimkar, Sascha Hauer,
	andersson, arm-scmi, cristian.marussi, festevam, imx,
	jay.buddhabhatti, jonathanh, kernel, konradybcio, krzk, lenb,
	linux-acpi, linux-arm-kernel, linux-arm-msm, linux-kernel,
	linux-remoteproc, linux-tegra, mathieu.poirier, michal.simek, nm,
	rafael, robh, shawn.guo, sudeep.holla, tglx, thierry.reding

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 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.rc2.204.g2597b5adb4-goog


^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2026-02-10  0:39 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-08  4:01 [PATCH v2 00/15] mailbox: Stop sending NULL mailbox messages Douglas Anderson
2026-02-08  4:01 ` [PATCH v2 01/15] mailbox: Deprecate NULL mbox messages; Introduce mbox_ring_doorbell() Douglas Anderson
2026-02-09 15:40   ` Bjorn Andersson
2026-02-10  0:38   ` Jassi Brar
2026-02-08  4:01 ` [PATCH v2 02/15] ACPI: PCC: Use mbox_ring_doorbell() instead of NULL message Douglas Anderson
2026-02-08  4:01 ` [PATCH v2 03/15] firmware: arm_scmi: " Douglas Anderson
2026-02-09 16:45   ` Cristian Marussi
2026-02-08  4:01 ` [PATCH v2 04/15] firmware: imx-dsp: " Douglas Anderson
2026-02-09 15:52   ` Daniel Baluta
2026-02-08  4:01 ` [PATCH v2 05/15] firmware: tegra: bpmp: " Douglas Anderson
2026-02-08  4:01 ` [PATCH v2 06/15] irqchip/qcom-mpm: " Douglas Anderson
2026-02-08  4:01 ` [PATCH v2 07/15] remoteproc: xlnx: " Douglas Anderson
2026-02-09 15:40   ` Bjorn Andersson
2026-02-08  4:01 ` [PATCH v2 08/15] rpmsg: qcom_glink_rpm: " Douglas Anderson
2026-02-09 15:40   ` Bjorn Andersson
2026-02-08  4:01 ` [PATCH v2 09/15] rpmsg: glink: smem: " Douglas Anderson
2026-02-09 15:41   ` Bjorn Andersson
2026-02-08  4:01 ` [PATCH v2 10/15] rpmsg: qcom_smd: " Douglas Anderson
2026-02-09 15:41   ` Bjorn Andersson
2026-02-08  4:01 ` [PATCH v2 11/15] soc: qcom: aoss: " Douglas Anderson
2026-02-08  4:01 ` [PATCH v2 12/15] soc: qcom: smp2p: " Douglas Anderson
2026-02-08  4:01 ` [PATCH v2 13/15] soc: qcom: smsm: " Douglas Anderson
2026-02-08  4:01 ` [PATCH v2 14/15] soc: ti: wkup_m3_ipc: " Douglas Anderson
2026-02-08  4:01 ` [PATCH v2 15/15] drivers: firmware: xilinx: " Douglas Anderson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox