Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

gpu: nova-core: convert PBUS registers to kernel register macro

Convert all PBUS registers to use the kernel's register macro and update
the code accordingly.

Reviewed-by: Eliot Courtney <ecourtney@nvidia.com>
Reviewed-by: Gary Guo <gary@garyguo.net>
Acked-by: Danilo Krummrich <dakr@kernel.org>
Link: https://patch.msgid.link/20260325-b4-nova-register-v4-3-bdf172f0f6ca@nvidia.com
Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>

+11 -6
+4 -1
drivers/gpu/nova-core/gsp/boot.rs
··· 4 4 device, 5 5 dma::Coherent, 6 6 io::poll::read_poll_timeout, 7 + io::Io, 7 8 pci, 8 9 prelude::*, 9 10 time::Delta, // ··· 87 86 } 88 87 89 88 // SCRATCH_E contains the error code for FWSEC-FRTS. 90 - let frts_status = regs::NV_PBUS_SW_SCRATCH_0E_FRTS_ERR::read(bar).frts_err_code(); 89 + let frts_status = bar 90 + .read(regs::NV_PBUS_SW_SCRATCH_0E_FRTS_ERR) 91 + .frts_err_code(); 91 92 if frts_status != 0 { 92 93 dev_err!( 93 94 dev,
+7 -5
drivers/gpu/nova-core/regs.rs
··· 109 109 110 110 // PBUS 111 111 112 - register!(NV_PBUS_SW_SCRATCH @ 0x00001400[64] {}); 112 + io::register! { 113 + pub(crate) NV_PBUS_SW_SCRATCH(u32)[64] @ 0x00001400 {} 113 114 114 - register!(NV_PBUS_SW_SCRATCH_0E_FRTS_ERR => NV_PBUS_SW_SCRATCH[0xe], 115 - "scratch register 0xe used as FRTS firmware error code" { 116 - 31:16 frts_err_code as u16; 117 - }); 115 + /// Scratch register 0xe used as FRTS firmware error code. 116 + pub(crate) NV_PBUS_SW_SCRATCH_0E_FRTS_ERR(u32) => NV_PBUS_SW_SCRATCH[0xe] { 117 + 31:16 frts_err_code; 118 + } 119 + } 118 120 119 121 // PFB 120 122