summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSudeep Holla <sudeep.holla@arm.com>2025-10-16 22:08:18 +0300
committerJassi Brar <jassisinghbrar@gmail.com>2026-01-18 23:19:20 +0300
commit9c753f7c953c0c564db677773e767b8cecaee960 (patch)
tree0f0ff82bc3d1068ab7aaee7e97027b3360f02b9e
parent3349f800609eadd396d1702da9d979f88770bad9 (diff)
downloadlinux-9c753f7c953c0c564db677773e767b8cecaee960.tar.xz
mailbox: pcc: Mark Tx as complete in PCC IRQ handler
The PCC IRQ handler clears channel-in-use and notifies clients with mbox_chan_received_data(), but it does not explicitly mark the transmit as complete. In IRQ completion mode this could leave Tx complete waiters hanging or lead to generic timeouts in the mailbox core. Invoke mbox_chan_txdone() in the IRQ path once the platform has acknowledged the transfer so the core can wake any waiters and update state accordingly. Signed-off-by: Sudeep Holla <sudeep.holla@arm.com> Tested-by: Adam Young <admiyo@os.amperecomputing.com> Signed-off-by: Jassi Brar <jassisinghbrar@gmail.com>
-rw-r--r--drivers/mailbox/pcc.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/mailbox/pcc.c b/drivers/mailbox/pcc.c
index ed4bafdff838..025c4cdd8d26 100644
--- a/drivers/mailbox/pcc.c
+++ b/drivers/mailbox/pcc.c
@@ -340,6 +340,7 @@ static irqreturn_t pcc_mbox_irq(int irq, void *p)
*/
pchan->chan_in_use = false;
mbox_chan_received_data(chan, NULL);
+ mbox_chan_txdone(chan, 0);
pcc_chan_acknowledge(pchan);