Re: [PATCH v5 0/5] firmware: tegra: bpmp: Add ACPI and MBWT support
From: Thierry Reding
Date: Fri Oct 02 2026 - 03:56:23 EST
On Tue, Sep 29, 2026 at 09:59:10AM +0000, Aniruddha Rao wrote:
> This series adds ACPI support to the Tegra BPMP driver and support for
> Memory Bandwidth Throttler (MBWT) controls exposed by BPMP firmware of
> some Tegra platforms.
>
> The current BPMP driver depends on device tree bindings. This series
> keeps the existing DT path unchanged while adding an ACPI transport path
> for BPMP firmware requests.
>
> MBWT controls are accessed through BPMP firmware requests. This series
> defines the MBWT BPMP ABI, adds MBWT helper functions, and exposes a
> narrow sysfs interface when firmware reports support for the required
> MBWT requests.
>
> Aniruddha Rao (5):
> firmware: tegra: bpmp: Move channel initialization to helper
> firmware: tegra: bpmp: Add ACPI support
> firmware: tegra: bpmp: Add the Memory Bandwidth Throttler ABI
> definitions
> firmware: tegra: bpmp: Add MBWT BPMP helpers
> firmware: tegra: bpmp: Add MBWT sysfs interface
>
> .../ABI/testing/sysfs-platform-tegra-bpmp | 48 ++
> drivers/firmware/tegra/Makefile | 1 +
> drivers/firmware/tegra/bpmp-private.h | 39 ++
> drivers/firmware/tegra/bpmp-sysfs.c | 207 +++++++++
> drivers/firmware/tegra/bpmp-tegra186.c | 14 +
> drivers/firmware/tegra/bpmp-tegra210.c | 13 +-
> drivers/firmware/tegra/bpmp.c | 415 +++++++++++++++---
> include/soc/tegra/bpmp-abi.h | 161 ++++++-
> include/soc/tegra/bpmp.h | 2 +
> 9 files changed, 849 insertions(+), 51 deletions(-)
> create mode 100644 Documentation/ABI/testing/sysfs-platform-tegra-bpmp
> create mode 100644 drivers/firmware/tegra/bpmp-sysfs.c
>
> Changes since v4:
> - Move BPMP channel allocation and ping setup/teardown into the
> SoC-specific init/deinit operations.
> - Add an optional init_providers operation for DT child and provider
> registration after BPMP communication is established and the firmware
> tag is read.
> - Add an ACPI BPMP init operation for the BMRQ ping path.
> - Remove ACPI-specific setup and teardown conditionals from the common
> probe path.
> - Drop the redundant NULL check after device_get_match_data().
> - Explain the transport and provider initialization phases in the ACPI
> support commit message.
> - Explain why DT registers an incoming MRQ_PING handler while ACPI only
> sends an outgoing ping request.
> - Describe MBWT bandwidth groups and traffic types with platform data so
> firmware instance and VC type values can vary between platforms.
> - Document the sysfs hierarchy using platform-defined bandwidth-group and
> traffic-type names.
>
> Changes since v3:
> - Update the sysfs ABI Documentation date to September 2026 and target
> release to 7.4.
>
> Changes since v2:
> - Rename the non-ACPI transfer helper to tegra_bpmp_transfer_channel().
> - Keep the common BPMP message validation in tegra_bpmp_transfer().
> - Remove duplicate message validation from the ACPI transfer helper.
> - Move the MBWT helpers near probe and document why they are needed.
> - Rename bpmp-tegra-sysfs.c to bpmp-sysfs.c.
>
> Changes since v1:
> - Dropped the SoC Kconfig patch.
> - Kept the existing DT path unchanged while adding ACPI support.
> - Reworked ACPI matching to avoid a dummy ops table.
> - Added explicit error handling for short ACPI BMRQ responses.
> - Folded MBWT helpers into bpmp.c.
> - Reworked MBWT sysfs into per-traffic bandwidth attributes.
> - Removed software bandwidth range checks.
> - Use NVCLINK consistently in commit messages and documentation.
> - Avoid platform-specific or transport-specific MBWT wording.
Applied, thanks.
Thierry
Attachment:
signature.asc
Description: PGP signature