From: Sudeep Holla <sudeep.holla@arm.com>
To: linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: Sudeep Holla <sudeep.holla@arm.com>,
Adam Young <admiyo@os.amperecomputing.com>,
Robbie King <robbiek@xsightlabs.com>,
Huisong Li <lihuisong@huawei.com>,
Jassi Brar <jassisinghbrar@gmail.com>,
Cristian Marussi <cristian.marussi@arm.com>
Subject: [PATCH 0/6] mailbox: pcc: Refactor and improve initialisation and interrupt handling
Date: Thu, 16 Oct 2025 20:08:14 +0100 [thread overview]
Message-ID: <20251016-pcc_mb_updates-v1-0-0fba69616f69@arm.com> (raw)
This series refines and stabilizes the PCC mailbox driver to improve
initialisation order, interrupt handling, and completion signaling.
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@arm.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
next reply other threads:[~2025-10-16 19:08 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-16 19:08 Sudeep Holla [this message]
2025-10-16 19:08 ` [PATCH 1/6] Revert "mailbox/pcc: support mailbox management of the shared buffer" Sudeep Holla
2025-10-17 16:54 ` Adam Young
2025-10-20 3:46 ` lihuisong (C)
2025-10-16 19:08 ` [PATCH 2/6] mailbox: pcc: Wire up ->last_tx_done() for PCC channels Sudeep Holla
2025-10-17 16:48 ` Adam Young
2025-10-17 16:59 ` Adam Young
2025-10-20 4:01 ` lihuisong (C)
2025-10-16 19:08 ` [PATCH 3/6] mailbox: pcc: Set txdone_irq/txdone_poll based on PCCT flags Sudeep Holla
2025-10-17 17:16 ` Adam Young
2025-10-20 4:02 ` lihuisong (C)
2025-10-16 19:08 ` [PATCH 4/6] mailbox: pcc: Mark Tx as complete in PCC IRQ handler Sudeep Holla
2025-10-17 16:54 ` Adam Young
2025-10-20 4:08 ` lihuisong (C)
2026-04-10 9:15 ` lihuisong (C)
2025-10-16 19:08 ` [PATCH 5/6] mailbox: pcc: Initialize SHMEM before binding the channel with the client Sudeep Holla
2025-10-17 16:59 ` Adam Young
2025-10-20 4:15 ` lihuisong (C)
2025-10-16 19:08 ` [PATCH 6/6] mailbox: pcc: Clear any pending responder interrupts before enabling it Sudeep Holla
2025-10-17 17:03 ` Adam Young
2025-10-17 16:49 ` [PATCH 0/6] mailbox: pcc: Refactor and improve initialisation and interrupt handling Adam Young
2025-11-27 14:40 ` Sudeep Holla
2026-01-12 16:55 ` Sudeep Holla
2026-01-26 17:07 ` Adam Young
2026-01-26 17:08 ` Adam Young
2026-01-27 9:29 ` Sudeep Holla
2026-02-04 21:40 ` Adam Young
2026-02-05 7:31 ` Adam Young
2026-02-24 23:13 ` Adam Young
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=20251016-pcc_mb_updates-v1-0-0fba69616f69@arm.com \
--to=sudeep.holla@arm.com \
--cc=admiyo@os.amperecomputing.com \
--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 \
--cc=robbiek@xsightlabs.com \
/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
all inboxes | Powered by JetHome®