[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20251127-ancient-baboon-of-opportunity-5f773d@sudeepholla>
Date: Thu, 27 Nov 2025 14:40:56 +0000
From: Sudeep Holla <sudeep.holla@....com>
To: <linux-acpi@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
Jassi Brar <jassisinghbrar@...il.com>
Cc: Adam Young <admiyo@...amperecomputing.com>,
Robbie King <robbiek@...ghtlabs.com>,
Huisong Li <lihuisong@...wei.com>,
Cristian Marussi <cristian.marussi@....com>
Subject: Re: [PATCH 0/6] mailbox: pcc: Refactor and improve initialisation
and interrupt handling
Hi Jassi,
On Thu, Oct 16, 2025 at 08:08:14PM +0100, Sudeep Holla wrote:
> This series refines and stabilizes the PCC mailbox driver to improve
> initialisation order, interrupt handling, and completion signaling.
>
Are you happy to pull these patches directly from the list or do you
prefer me to send you pull request or do you want me to direct this via
ACPI/Rafael's tree. Please advice.
> It begins by reverting a previous patch that introduced redundant shared
> buffer management, simplifying the driver and restoring consistency with the
> mailbox core framework. It is essential to have a proper baseline for the
> main changes in the series.
>
> Subsequent patches add proper completion reporting, clarify completion mode
> selection, and fix subtle sequencing and interrupt issues to ensure
> predictable, robust operation across ACPI-based PCC implementations.
>
> Specifically, the series:
>
> 1. Removes redundant shared buffer logic, reverting an earlier change that
> duplicated existing mailbox core features and caused maintenance overhead.
>
> 2. Adds ->last_tx_done() support to allow polling clients to verify
> transmission completion without relying on interrupts.
>
> 3. Explicitly configures completion modes (txdone_irq or txdone_poll) based
> on ACPI PCCT doorbell capability flag, ensuring the correct completion
> mechanism is chosen for each platform.
>
> 4. Marks transmit completion in the IRQ handler by invoking mbox_chan_txdone(),
> preventing timeouts and ensuring proper synchronization for interrupt-driven
> transfers.
>
> 5. Initializes the shared memory region (SHMEM) before binding clients,
> preventing race conditions where clients could access uninitialized memory.
>
> 6. Clears any pending responder interrupts before enabling IRQs, avoiding
> spurious or false interrupts during startup.
>
> Together, these updates make the PCC mailbox driver cleaner, more reliable,
> and fully aligned with the mailbox framework's expectations, improving
> determinism and robustness across different hardware platforms.
>
> Signed-off-by: Sudeep Holla <sudeep.holla@....com>
> ---
> Sudeep Holla (6):
> Revert "mailbox/pcc: support mailbox management of the shared buffer"
> mailbox: pcc: Wire up ->last_tx_done() for PCC channels
> mailbox: pcc: Set txdone_irq/txdone_poll based on PCCT flags
> mailbox: pcc: Mark Tx as complete in PCC IRQ handler
> mailbox: pcc: Initialize SHMEM before binding the channel with the client
> mailbox: pcc: Clear any pending responder interrupts before enabling it
>
> drivers/mailbox/pcc.c | 118 ++++++++++----------------------------------------
> include/acpi/pcc.h | 29 -------------
> 2 files changed, 23 insertions(+), 124 deletions(-)
> ---
> base-commit: 7ea30958b3054f5e488fa0b33c352723f7ab3a2a
> change-id: 20251016-pcc_mb_updates-d9d428985400
>
>
> --
> Regards,
> Sudeep
>
--
Regards,
Sudeep
Powered by blists - more mailing lists