linux/drivers/mailbox
Adam Young 5378bdf6a6 mailbox/pcc: support mailbox management of the shared buffer
Define a new, optional, callback that allows the driver to
specify how the return data buffer is allocated.  If that callback
is set,  mailbox/pcc.c is now responsible for reading from and
writing to the PCC shared buffer.

This also allows for proper checks of the Commnand complete flag
between the PCC sender and receiver.

For Type 4 channels, initialize the command complete flag prior
to accepting messages.

Since the mailbox does not know what memory allocation scheme
to use for response messages, the client now has an optional
callback that allows it to allocate the buffer for a response
message.

When an outbound message is written to the buffer, the mailbox
checks for the flag indicating the client wants an tx complete
notification via IRQ.  Upon receipt of the interrupt It will
pair it with the outgoing message. The expected use is to
free the kernel memory buffer for the previous outgoing message.

Signed-off-by: Adam Young <admiyo@os.amperecomputing.com>
Signed-off-by: Jassi Brar <jassisinghbrar@gmail.com>
2025-08-07 23:49:56 -05:00
..
arm_mhu_db.c mailbox: arm_mhu_db: Constify amba_id table 2025-03-26 20:58:25 -05:00
arm_mhu.c mailbox: arm_mhu: Constify amba_id table 2025-03-26 20:58:25 -05:00
arm_mhuv2.c mailbox: arm_mhuv2: Constify amba_id table 2025-03-26 20:58:25 -05:00
arm_mhuv3.c mailbox: arm_mhuv3: Add driver 2024-05-19 22:30:09 -05:00
armada-37xx-rwtm-mailbox.c
ast2700-mailbox.c mailbox: aspeed: add mailbox driver for AST27XX series SoC 2025-08-06 12:45:05 -05:00
bcm2835-mailbox.c mailbox: bcm2835: Fix timeout during suspend mode 2024-09-22 19:19:17 -05:00
bcm74110-mailbox.c mailbox: bcm74110: Fix spelling mistake 2025-08-06 12:45:05 -05:00
bcm-flexrm-mailbox.c mailbox: Switch back to struct platform_driver::remove() 2024-11-24 13:11:01 -06:00
bcm-pdc-mailbox.c mailbox: Switch back to struct platform_driver::remove() 2024-11-24 13:11:01 -06:00
cix-mailbox.c mailbox: add CIX mailbox driver 2025-07-21 17:14:55 +02:00
cv1800-mailbox.c mailbox: sophgo: add mailbox driver for CV18XX series SoC 2025-05-26 16:23:39 -05:00
exynos-mailbox.c mailbox: Remove unneeded semicolon 2025-03-26 20:58:26 -05:00
hi3660-mailbox.c mailbox: Explicitly include correct DT includes 2023-09-05 10:10:58 -05:00
hi6220-mailbox.c mailbox: Explicitly include correct DT includes 2023-09-05 10:10:58 -05:00
imx-mailbox.c mailbox: imx: Fix TXDB_V2 sending 2025-05-26 16:23:39 -05:00
Kconfig mailbox: aspeed: add mailbox driver for AST27XX series SoC 2025-08-06 12:45:05 -05:00
mailbox-altera.c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
mailbox-mchp-ipc-sbi.c mailbox: add Microchip IPC support 2025-01-18 16:09:48 -06:00
mailbox-mpfs.c mailbox: mpfs: fix copy and paste bug in probe 2025-01-18 16:04:51 -06:00
mailbox-sti.c mailbox: Use device_get_match_data() 2023-10-15 12:39:16 -05:00
mailbox-test.c mailbox: Switch back to struct platform_driver::remove() 2024-11-24 13:11:01 -06:00
mailbox-th1520.c mailbox: th1520: Fix memory corruption due to incorrect array size 2025-01-18 16:20:55 -06:00
mailbox-xgene-slimpro.c
mailbox.c mailbox: Use guard/scoped_guard for spinlock 2025-05-26 16:23:39 -05:00
mailbox.h mailbox: explicitly include <linux/bits.h> 2025-03-26 20:58:25 -05:00
Makefile mailbox: aspeed: add mailbox driver for AST27XX series SoC 2025-08-06 12:45:05 -05:00
mtk-adsp-mailbox.c mailbox: Explicitly include correct DT includes 2023-09-05 10:10:58 -05:00
mtk-cmdq-mailbox.c mailbox: mtk-cmdq: Switch to pm_runtime_put_autosuspend() 2025-08-06 12:41:32 -05:00
omap-mailbox.c kfifo: don't include dma-mapping.h in kfifo.h 2024-10-23 08:05:20 +02:00
pcc.c mailbox/pcc: support mailbox management of the shared buffer 2025-08-07 23:49:56 -05:00
pl320-ipc.c mailbox: pl320-ipc: Constify amba_id table 2025-03-26 20:58:24 -05:00
platform_mhu.c mailbox: Explicitly include correct DT includes 2023-09-05 10:10:58 -05:00
qcom-apcs-ipc-mailbox.c mailbox: qcom-apcs-ipc: Assign OF node to clock controller child device 2025-05-29 10:01:35 -05:00
qcom-cpucp-mbox.c mailbox: qcom-cpucp: Mark the irq with IRQF_NO_SUSPEND flag 2024-11-24 12:56:31 -06:00
qcom-ipcc.c mailbox: Use dev_fwnode() 2025-08-06 12:41:38 -05:00
rockchip-mailbox.c mailbox: rockchip: fix a typo in module autoloading 2024-09-22 19:19:17 -05:00
sprd-mailbox.c mailbox: sprd: Use devm_clk_get_enabled() helpers 2024-09-22 19:19:17 -05:00
stm32-ipcc.c mailbox: Switch back to struct platform_driver::remove() 2024-11-24 13:11:01 -06:00
sun6i-msgbox.c mailbox: Switch back to struct platform_driver::remove() 2024-11-24 13:11:01 -06:00
tegra-hsp.c mailbox: tegra-hsp: Define dimensioning masks in SoC data 2025-03-26 20:58:24 -05:00
ti-msgmgr.c mailbox: ti-msgmgr: Remove use of of_match_ptr() helper 2024-11-24 12:57:49 -06:00
zynqmp-ipi-mailbox.c mailbox: zynqmp: Remove invalid __percpu annotation in zynqmp_ipi_probe() 2025-01-18 16:20:21 -06:00