Skip to content

[26.04_linux-nvidia-bos] firmware: tegra: bpmp: Allow BPMP debugfs population to be skipped - #639

Closed
esot0 wants to merge 5 commits into
NVIDIA:26.04_linux-nvidia-bosfrom
esot0:codex/dgx-18128-bpmp-debugfs-upstream
Closed

esot0 wants to merge 5 commits into
NVIDIA:26.04_linux-nvidia-bosfrom
esot0:codex/dgx-18128-bpmp-debugfs-upstream

Conversation

@esot0

@esot0 esot0 commented Oct 8, 2026

Copy link
Copy Markdown
Collaborator

Populating the BPMP firmware debugfs requires a sequence of synchronous firmware transactions during BPMP probe, which impacts the overall boot time. Currently, the only way to avoid populating the BPMP debugfs is to disable CONFIG_DEBUG_FS completely.

Add a tegra_bpmp.debugfs module parameter so systems can skip populating the BPMP debugfs with tegra_bpmp.debugfs=0. Keep it enabled by default to preserve existing behavior. The parameter is defined in bpmp-debugfs.c, so it is available only when CONFIG_DEBUG_FS is enabled.

Build and boot validation passed on Neutrino. With the same patched kernel, tegra_bpmp.debugfs=0 reduced combined BPMP initialization from 16.823 s to 31.890 ms and eliminated both debugfs initialization failures. Both BPMP devices remained bound. These measurements are from one traced boot per mode. The original kernel and boot configuration were restored after testing.

Link: https://lore.kernel.org/linux-tegra/20261001050716.2256810-1-anrao@nvidia.com/
Launchpad: https://bugs.launchpad.net/ubuntu/+source/linux-nvidia-bos/+bug/2170236

jacobmartin0 and others added 4 commits October 2, 2026 17:40
Ignore: yes
Signed-off-by: Jacob Martin <jacob.martin@canonical.com>
BugLink: https://bugs.launchpad.net/bugs/2169348
Properties: no-test-build
Signed-off-by: Jacob Martin <jacob.martin@canonical.com>
Signed-off-by: Jacob Martin <jacob.martin@canonical.com>
BugLink: https://bugs.launchpad.net/bugs/2169549

This enum can't be forward declared and the build with
aarch64-linux-gnu-gcc 16.1 just fails:

    In file included from ../drivers/pci/probe.c:27:
    ../include/cxl/cxl.h:444:62: error: parameter 2 ('type') has incomplete type
    444 | cxl_find_regblock(struct pci_dev *pdev, enum cxl_regloc_type type,
        |                                         ~~~~~~~~~~~~~~~~~~~~~^~~~
    ../include/cxl/cxl.h:444:1: error: function declaration isn't a prototype [-Werror=strict-prototypes]
    444 | cxl_find_regblock(struct pci_dev *pdev, enum cxl_regloc_type type,
        | ^~~~~~~~~~~~~~~~~
    cc1: some warnings being treated as errors

Replace the forward declaration with the header include.

Cc: Manish Honap <mhonap@nvidia.com>
Fixes: c2905eb ("NVIDIA: VR: SAUCE: cxl: Declare cxl_probe_component_regs in public header")
Signed-off-by: Lucas De Marchi <ldemarchi@nvidia.com>
Acked-by: Nirmoy Das <nirmoyd@nvidia.com>
Acked-by: Matthew R. Ochs <mochs@nvidia.com>
Signed-off-by: Brad Figg <bfigg@nvidia.com>
@esot0 esot0 changed the title firmware: tegra: bpmp: Allow BPMP debugfs population to be skipped [26.04_linux-nvidia-bos] firmware: tegra: bpmp: Allow BPMP debugfs population to be skipped Oct 8, 2026
@nirmoy nirmoy added the help wanted Extra attention is needed label Oct 8, 2026
@nirmoy

nirmoy commented Oct 8, 2026 •

Copy link
Copy Markdown
Collaborator

BaseOS Kernel Review

Tip

✅ Review passed

No issues found across the reviewed commits.

Findings: none

🔍 Review artifacts

📦 Build checks — 🟢 4/4 passed

Note

Build reports and debs are retained for 10 days after the PR closes.

  • ⚪ PR explanation: inactive
Review metadata
  • Reviewed head: f4d650b81f32
  • Overall status: kernel validation regression
  • Build checks: 4/4 passed

This comment is maintained by BaseOS Reviewer and updated when the GitHub watcher publishes a newer review.

@github-actions

github-actions Bot commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

PR Validation Report

Patchscan ✅ No Missing Fixes

All cherry-picked commits checked — no missing upstream fixes found.

PR Lint ❌ Errors found

Details
Checking 1 commits...

Cherry-pick digest:
┌──────────────┬──────────────────────────────────────────────────────────────────┬────────────┬─────────┬───────────────────────────┐
│ Local        │ Referenced upstream / Patch subject                              │ Patch-ID   │ Subject │ SoB chain                 │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ f4d650b81f32 │ [SAUCE] firmware: tegra: bpmp: allow bpmp debugfs population to  │ N/A        │ N/A     │ anrao, treding, emilys    │
└──────────────┴──────────────────────────────────────────────────────────────────┴────────────┴─────────┴───────────────────────────┘

Lint results:
E: f4d650b81f32 ("firmware: tegra: bpmp: Allow BPMP debugfs populati"): not SAUCE/UBUNTU/Revert but has no upstream reference trailer (cherry picked from commit ... or backported from ...)

@esot0
esot0 force-pushed the codex/dgx-18128-bpmp-debugfs-upstream branch from c348c45 to a50535a Compare October 8, 2026 19:25
@nvmochs

nvmochs commented Oct 8, 2026

Copy link
Copy Markdown
Collaborator

@esot0 Can you cherry pick from linux-next (looks like the SHA is c7fc690da6f1) with -x -s ? Then if it required modifications, change "cherry picked from" to "backported from" and add your annotation note after that pick line. Also, since you are picking from linux-next, please also add linux-next after the SHA on the pick line.

Lastly, please add this patch alongside the other Vera BPMP patches in the distro tracking SS (look for "Emily to add patch here").

Populating the BPMP firmware debugfs requires a sequence of synchronous
firmware transactions during BPMP probe, which impacts the overall boot
time. Currently, the only way to avoid populating the BPMP debugfs is to
disable CONFIG_DEBUG_FS completely.

Add a tegra_bpmp.debugfs module parameter so systems can skip populating
the BPMP debugfs with tegra_bpmp.debugfs=0. Keep it enabled by default to
preserve existing behavior. The parameter is defined in bpmp-debugfs.c,
so it is available only when CONFIG_DEBUG_FS is enabled.

Signed-off-by: Aniruddha Rao <anrao@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Link: https://lore.kernel.org/linux-tegra/20261001050716.2256810-1-anrao@nvidia.com/
(backported from commit c7fc690da6f1a89f817c01748faf6a4846849028 linux-next)
[emilys: Context-only relocation of the parameter declaration beside
 bpmp_debug_lock; all nine added lines are unchanged.]
Signed-off-by: Emily Soto <emilys@nvidia.com>
@esot0
esot0 force-pushed the codex/dgx-18128-bpmp-debugfs-upstream branch from a50535a to f4d650b Compare October 8, 2026 20:18
@nvmochs

nvmochs commented Oct 8, 2026

Copy link
Copy Markdown
Collaborator

Latest version looks good to me. No further issues or concerns.

Acked-by: Matthew R. Ochs <mochs@nvidia.com>

@jamieNguyenNVIDIA

Copy link
Copy Markdown
Collaborator

Acked-by: Jamie Nguyen <jamien@nvidia.com>

@nirmoy nirmoy added has_2_acks and removed help wanted Extra attention is needed has_1_ack labels Oct 8, 2026
@nvidia-bfigg
nvidia-bfigg force-pushed the 26.04_linux-nvidia-bos branch from 2a4c04b to f3d07b8 Compare October 9, 2026 12:18
@nvmochs

nvmochs commented Oct 9, 2026

Copy link
Copy Markdown
Collaborator

Merged, closing PR.

4d0677772f18 (nresolute/nvidia-bos-next) firmware: tegra: bpmp: Allow BPMP debugfs population to be skipped

@nvmochs nvmochs closed this Oct 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants