Public bug reported:
Backport five OOT patches to 24.04_linux-nvidia-6.17-next adding ACPI-
based BPMP IPC support and a sysfs interface for configuring PCIe/GPU-
UPHY memory bandwidth throttling (SoC Hub MBWT) on T410/NVL72 systems.
These are needed for VR.
# Commit Subject
1 8065c4353f6ad tegra: bpmp: Move channel, resource init to helper
2 18afbd87c6cd7 tegra: bpmp: Add ACPI support
3 3abb3e53efe04 tegra: bpmp: Add BPMP client driver for T410
4 9fa2b9e2a3ea3 firmware: tegra: bpmp-tegra410: fix duplicate sysfs
name on multi-instance BPMP
5 86a5b0bf7cd59 firmware: tegra: bpmp-tegra410: reject duplicate mbwt
export
Patch 1 refactors tegra_bpmp_probe() by extracting
tegra_bpmp_init_channels() and tegra_bpmp_init_resources() helpers,
preparing the driver for ACPI where channel init is handled by AML.
Patch 2 adds ACPI transport via tegra_bpmp_transfer_acpi() calling ACPI
BMRQ AML method, bypasses channel init/MRQ/DT resources on ACPI systems,
and adds ACPI match table for NVDA3001.
Patch 3 adds bpmp-tegra410.c — a new BPMP client driver exposing sysfs
export/unexport to create per-SoC-Hub-instance mbwtN/ devices with
vc_type (WO) and bandwidth (RW) attributes. Adds MRQ_SOCHUB_MBWT (96)
ABI with GET_BW/SET_BW sub-commands.
Patch 4 fixes -EEXIST crash on NVL72 dual-BPMP systems by making sysfs
device names unique per instance (mbwt_control_NVDA3001:00, :01).
Patch 5 adds device_find_child() guard to reject duplicate export of the
same instance, preventing kobject registration errors.
How to verify & result
1. BPMP sysfs unit test (bpmp_mbwt_sysfs_unit_test.sh):
Result: 17/17 PASS, 0 FAIL, 0 SKIP (both systems)
[Test 0] BPMP driver probe PASS
[Test 1] sysfs class exists PASS
[Test 2] Found 2 control devices PASS
[Test 3] Multi-instance unique names PASS
[Test 4] export/unexport writable PASS
[Test 5] Export instance 0 PASS
[Test 6] vc_type + bandwidth attrs present PASS
[Test 7] Read without vc_type → rejected PASS
[Test 8] Set vc_type=0, read bandwidth PASS
[Test 9] Write BW=50, readback=50 PASS
[Test 10] vc_type auto-clear enforced PASS
[Test 11] Export second instance PASS
[Test 12] Duplicate export rejected PASS
[Test 13] Unexport removes device PASS
[Test 14] Unexport non-existent → rejected PASS
[Test 15] ACPI NVDA3001 in dmesg PASS
2. BPMP PCIe bandwidth throttle test (bpmp_throttle_fio_test.sh on comp016):
Sets all 6 SoC Hub instances (both vc_type 0 and 1) then measures NVMe
fio throughput:
BPMP BW NVMe Read NVMe Write Effect
100 GB/s (baseline) 14.9 GB/s 5.5 GB/s —
50 GB/s 14.9 GB/s 5.5 GB/s Below NVMe cap
10 GB/s 10.1 GB/s 5.5 GB/s Throttled (-32%)
1 GB/s 1.0 GB/s 1.0 GB/s Throttled (-93%)
100 GB/s (recovery) 14.9 GB/s 3.6 GB/s Recovers
BPMP MBWT throttle confirmed working end-to-end on NVL72 hardware, effective
down to 1 GB/s.
** Affects: linux-nvidia-6.17 (Ubuntu)
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2147212
Title:
Backport BPMP ACPI + SoC Hub MBWT sysfs driver for T410/NVL72
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-nvidia-6.17/+bug/2147212/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs