[PATCH v2 0/3] mailbox: pcc: Improve completion handling and validation
Sudeep Holla <[email protected]>
| Newsgroups | gmane.linux.kernel,gmane.linux.acpi.devel |
|---|---|
| Message-ID | <[email protected]> |
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/[email protected] 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