Hi Jassi,
This series addresses three issues in the PCC mailbox controller which
are on the list for a while and discussed/reviewed. Please pick them
for v7.3 or let me know if you prefer pull request.
First, notify clients through their receive callback when a command
completes through polling, matching the interrupt-driven completion
path.
Second, centralize PCC shared memory signature checking in the mailbox
controller. Invalid signatures are reported without rejecting otherwise
working firmware, while mappings too small to contain a signature remain
fatal.
Finally, fix a race where a fast platform can signal command completion
before the channel is marked in use, causing a shared interrupt to be
ignored and the command to time out. Publish the channel state before
ringing the doorbell and use READ_ONCE()/WRITE_ONCE() for the lockless
flag accesses.
Regards,
Sudeep
Changes in v2:
- Reworked to keep chan_in_use set after a successful doorbell write
and clear it only when the write fails.
- Clarified that ordering is provided by the ordered I/O accessor,
covering both MMIO and port I/O doorbells.
- Clarified the cross-CPU flag access and interrupt-side clearing
before the mailbox core can submit another transfer.
- Link to v1: https://lore.kernel.org/all/20260717075649.467172-1-sudeep.holla@kernel.org
Huisong Li (1):
mailbox: pcc: Fix command timeout due to missed interrupt
Sudeep Holla (2):
mailbox: pcc: Notify clients on polled completion
mailbox: pcc: Check shared memory signature on request
drivers/mailbox/pcc.c | 87 +++++++++++++++++++++++++++++++++----------
1 file changed, 67 insertions(+), 20 deletions(-)
--
2.43.0