mailbox: pcc: Notify clients on polled completion

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>
Acked-by: Huisong Li <lihuisong@huawei.com>
Signed-off-by: Sudeep Holla <sudeep.holla@kernel.org>
Reviewed-by: Adam Young <admiyo@os.amperecomputing.com>
Signed-off-by: Jassi Brar <jassisinghbrar@gmail.com>
This commit is contained in:
Sudeep Holla 2026-07-23 15:39:26 +01:00 committed by Jassi Brar
parent ef24ff4f5c
commit 1b7fd72295

View File

@ -449,7 +449,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;
}
/**