From: Sudeep Holla <sudeep.holla@kernel.org>
To: linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org
Cc: Sudeep Holla <sudeep.holla@kernel.org>,
Jassi Brar <jassisinghbrar@gmail.com>,
Huisong Li <lihuisong@huawei.com>,
Cristian Marussi <cristian.marussi@arm.com>
Subject: [PATCH v2] mailbox: pcc: Notify clients on polled completion
Date: Sat, 27 Jun 2026 16:00:08 +0100 [thread overview]
Message-ID: <20260627150008.3984670-1-sudeep.holla@kernel.org> (raw)
PCC channels without a platform interrupt rely on the mailbox
polling path to detect command completion.
That path currently only reports transmit completion to the mailbox
core, so clients that wait for their receive callback do not get
notified when the command completes.
Call mbox_chan_received_data() when polling observes completion on a
channel without a platform IRQ, matching the interrupt-driven
completion path.
Reported-by: Cristian Marussi <cristian.marussi@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@kernel.org>
---
v1->v2:
- Check if MBOX_TXDONE_BY_POLL instead of absence of pchan->plat_irq
v1: https://patch.msgid.link/20260612170225.1063902-1-sudeep.holla@kernel.org
drivers/mailbox/pcc.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/drivers/mailbox/pcc.c b/drivers/mailbox/pcc.c
index bde5e0852157..bb55f15edae3 100644
--- a/drivers/mailbox/pcc.c
+++ b/drivers/mailbox/pcc.c
@@ -490,7 +490,15 @@ static bool pcc_last_tx_done(struct mbox_chan *chan)
{
struct pcc_chan_info *pchan = chan->con_priv;
- return pcc_mbox_cmd_complete_check(pchan);
+ if (!(chan->txdone_method & MBOX_TXDONE_BY_POLL))
+ return false;
+
+ if (!pcc_mbox_cmd_complete_check(pchan))
+ return false;
+
+ mbox_chan_received_data(chan, NULL);
+
+ return true;
}
/**
--
2.43.0
next reply other threads:[~2026-06-27 15:00 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-27 15:00 Sudeep Holla [this message]
2026-06-29 13:49 ` [PATCH v2] mailbox: pcc: Notify clients on polled completion lihuisong (C)
2026-06-29 13:54 ` lihuisong (C)
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=20260627150008.3984670-1-sudeep.holla@kernel.org \
--to=sudeep.holla@kernel.org \
--cc=cristian.marussi@arm.com \
--cc=jassisinghbrar@gmail.com \
--cc=lihuisong@huawei.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/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