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