[PATCH v3 0/4] gpu: nova-core: Extract falcon registers
From: Antonin Malzieu Ridolfi via B4 Relay
Date: Tue Sep 22 2026 - 21:14:56 EST
Move PFSP, PRISCV, PFALCON2, PFALCON registers definitions from the
root regs.rs file into the falcon module.
I tried a different solution than rescoping all registers with
`crate::super::...` by re-exporting them, hence the comment, but I'm
not sure it's the best solution. I was hoping they would all disapear
by the end of my patch series but as we discussed FUSE register
definitions better stay in the root regs for now.
Also the extract of `set_fbif_transcfg_regs_at()` change some
other functions signature, I think I have covered all but tell me in
case.
And I wasn't sure btw if `.try_at()` required `#[inline()]` there.
Finaly, If I'm correct, this series should conclude the refacto as the
remaining registers seems to be better left in the root regs.rs.
Signed-off-by: Antonin Malzieu Ridolfi <dev@xxxxxxxxxxx>
---
Changes in v3:
- Correct sentence fragment in commit message
- Fix error appeared after rebase: PFSP registers visibility was
switched back to pub(crate)
- Link to v2: https://patch.msgid.link/20260923-b4-extract-pfsp-registers-to-falcon-mod-v2-0-74600fc068c4@xxxxxxxxxxx
Changes in v2:
- Rebased on the current drm-rust-next.
- Confined the FBIF translation helper to the GSP engine, as suggested
by Alexandre Courbot: it now lives in falcon/gsp.rs and is implemented
only for Falcon<Gsp>.
- Renamed that helper to set_fbif_transcfg(), as the registers part
was an abstraction detail.
- set_fbif_transcfg() takes now ctx_dma as a usize, and also FalconFbifTarget and FalconFbifMemType as additionnal arguments.
- Removed method extract from falcon.rs as we cannot call a
Falcon<Gsp>-only method.
- Made the pfalcon field of Falcon private, now that the bootloader
goes through set_fbif_transcfg() and nothing outside the falcon module
accesses the PFALCON registers.
- Link to v1: https://patch.msgid.link/20260826-b4-extract-pfsp-registers-to-falcon-mod-v1-0-38351df09084@xxxxxxxxxxx
---
Antonin Malzieu Ridolfi (4):
gpu: nova-core: Extract PFSP register definitions
gpu: nova-core: falcon: Extract PRISCV register
gpu: nova-core: falcon: Extract PFALCON2 register
gpu: nova-core: Extract PFALCON register
drivers/gpu/nova-core/falcon.rs | 21 +-
drivers/gpu/nova-core/falcon/fsp.rs | 6 +-
drivers/gpu/nova-core/falcon/gsp.rs | 23 +-
drivers/gpu/nova-core/falcon/hal/ga102.rs | 2 +-
drivers/gpu/nova-core/falcon/hal/tu102.rs | 12 +-
drivers/gpu/nova-core/falcon/regs.rs | 311 +++++++++++++++++++++
drivers/gpu/nova-core/firmware/fwsec/bootloader.rs | 18 +-
drivers/gpu/nova-core/regs.rs | 298 +-------------------
8 files changed, 357 insertions(+), 334 deletions(-)
---
base-commit: 6bd5eaeb9827ca7ba953b68fb27948fdb3e40630
change-id: 20260824-b4-extract-pfsp-registers-to-falcon-mod-9eb233c4eb0e
Best regards,
--
Antonin Malzieu Ridolfi <dev@xxxxxxxxxxx>