Public bug reported: Cherry-pick BPMP support for the Linux 7.3 kernel. 7.0 had an older version of the series, these have landed in linux-next.
LKML: https://lore.kernel.org/all/[email protected]/ linux-next SHAs: fc92a01962b1 firmware: tegra: bpmp: Move channel initialization to helper ee98ea41ee3f firmware: tegra: bpmp: Add ACPI support 689c1032976a firmware: tegra: bpmp: Add the Memory Bandwidth Throttler ABI definitions 7432bd82f69e firmware: tegra: bpmp: Add MBWT BPMP helpers 514a33dde445 firmware: tegra: bpmp: Add MBWT sysfs interface Testing: Verify ACPI driver bindings $ ls -l /sys/bus/platform/drivers/tegra-bpmp/ total 0 lrwxrwxrwx 1 root root 0 Nov 2 20:08 module -> ../../../../module/tegra_bpmp lrwxrwxrwx 1 root root 0 Nov 2 20:08 NVDA3001:00 -> ../../../../devices/platform/NVDA3001:00 lrwxrwxrwx 1 root root 0 Nov 2 20:08 NVDA3001:01 -> ../../../../devices/platform/NVDA3001:01 --w------- 1 root root 65536 Nov 2 20:06 uevent Read all MBWT attributes $ sudo python3 - <<'PY' from pathlib import Path paths = sorted(Path("/sys/bus/platform/devices").glob( "*/mbwt/*/*/bandwidth")) if not paths: raise SystemExit("FAIL: no MBWT attributes found") failed = 0 for p in paths: try: value = int(p.read_text().strip()) print(f"PASS {p}: {value} GB/s") except Exception as e: failed += 1 print(f"FAIL {p}: {e}") print(f"{len(paths)} attributes, {failed} failures") raise SystemExit(bool(failed)) PY PASS /sys/bus/platform/devices/NVDA3001:00/mbwt/pcie0/nvclink/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:00/mbwt/pcie0/pcie_read/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:00/mbwt/pcie0/pcie_write/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:00/mbwt/pcie1/nvclink/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:00/mbwt/pcie1/pcie_read/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:00/mbwt/pcie1/pcie_write/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:00/mbwt/pcie2/nvclink/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:00/mbwt/pcie2/pcie_read/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:00/mbwt/pcie2/pcie_write/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:00/mbwt/pcie3/nvclink/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:00/mbwt/pcie3/pcie_read/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:00/mbwt/pcie3/pcie_write/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:00/mbwt/pcie4/nvclink/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:00/mbwt/pcie4/pcie_read/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:00/mbwt/pcie4/pcie_write/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:00/mbwt/pcie5/nvclink/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:00/mbwt/pcie5/pcie_read/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:00/mbwt/pcie5/pcie_write/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:01/mbwt/pcie0/nvclink/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:01/mbwt/pcie0/pcie_read/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:01/mbwt/pcie0/pcie_write/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:01/mbwt/pcie1/nvclink/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:01/mbwt/pcie1/pcie_read/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:01/mbwt/pcie1/pcie_write/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:01/mbwt/pcie2/nvclink/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:01/mbwt/pcie2/pcie_read/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:01/mbwt/pcie2/pcie_write/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:01/mbwt/pcie3/nvclink/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:01/mbwt/pcie3/pcie_read/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:01/mbwt/pcie3/pcie_write/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:01/mbwt/pcie4/nvclink/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:01/mbwt/pcie4/pcie_read/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:01/mbwt/pcie4/pcie_write/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:01/mbwt/pcie5/nvclink/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:01/mbwt/pcie5/pcie_read/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:01/mbwt/pcie5/pcie_write/bandwidth: 0 GB/s 36 attributes, 0 failures Exercise SET without intentionally changing caps $ sudo python3 - <<'PY' from pathlib import Path paths = sorted(Path("/sys/bus/platform/devices").glob( "*/mbwt/*/*/bandwidth")) if not paths: raise SystemExit("FAIL: no MBWT attributes found") failed = 0 for p in paths: try: before = int(p.read_text().strip()) p.write_text(f"{before}\n") after = int(p.read_text().strip()) if after != before: raise RuntimeError(f"readback changed: {before} -> {after}") print(f"PASS {p}: {after} GB/s") except Exception as e: failed += 1 print(f"FAIL {p}: {e}") raise SystemExit(bool(failed)) PY PASS /sys/bus/platform/devices/NVDA3001:00/mbwt/pcie0/nvclink/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:00/mbwt/pcie0/pcie_read/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:00/mbwt/pcie0/pcie_write/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:00/mbwt/pcie1/nvclink/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:00/mbwt/pcie1/pcie_read/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:00/mbwt/pcie1/pcie_write/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:00/mbwt/pcie2/nvclink/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:00/mbwt/pcie2/pcie_read/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:00/mbwt/pcie2/pcie_write/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:00/mbwt/pcie3/nvclink/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:00/mbwt/pcie3/pcie_read/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:00/mbwt/pcie3/pcie_write/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:00/mbwt/pcie4/nvclink/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:00/mbwt/pcie4/pcie_read/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:00/mbwt/pcie4/pcie_write/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:00/mbwt/pcie5/nvclink/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:00/mbwt/pcie5/pcie_read/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:00/mbwt/pcie5/pcie_write/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:01/mbwt/pcie0/nvclink/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:01/mbwt/pcie0/pcie_read/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:01/mbwt/pcie0/pcie_write/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:01/mbwt/pcie1/nvclink/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:01/mbwt/pcie1/pcie_read/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:01/mbwt/pcie1/pcie_write/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:01/mbwt/pcie2/nvclink/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:01/mbwt/pcie2/pcie_read/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:01/mbwt/pcie2/pcie_write/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:01/mbwt/pcie3/nvclink/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:01/mbwt/pcie3/pcie_read/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:01/mbwt/pcie3/pcie_write/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:01/mbwt/pcie4/nvclink/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:01/mbwt/pcie4/pcie_read/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:01/mbwt/pcie4/pcie_write/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:01/mbwt/pcie5/nvclink/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:01/mbwt/pcie5/pcie_read/bandwidth: 0 GB/s PASS /sys/bus/platform/devices/NVDA3001:01/mbwt/pcie5/pcie_write/bandwidth: 0 GB/s ** Affects: linux-nvidia-bos (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/2173002 Title: NVIDIA: Backport firmware: tegra: bpmp: Add ACPI and MBWT support To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux-nvidia-bos/+bug/2173002/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
