On Fri Mar 20, 2026 at 12:19 PM GMT, Alexandre Courbot wrote: > nova-core carried its own helper macro to declare register types. Its > purpose was to be temporary since the beginning, and to serve as a > testbed to develop an equivalent that could be used kernel-wide. > > That equivalent has now been merged, so it is time to retire the > nova-core local version. > > The kernel register macro has evolved into something significantly > different from the one in nova-core, so it cannot be used as a drop-in > replacement. All declarations and sites using registers need to be > updated. No semantic change should happen as a result. > > All the patches in this series could also be squashed into a single one > without altering their reviewability significantly. Actually I am > leaning towards that option since it doesn't make much sense to > partially convert the driver anyway. I'm leaving it in split state for > now in case this drives more people towards review. :) > > I hope to be able to merge this quickly so we can rebase in-flight > series to use the updated register syntax. > > This series is based on drm-rust-next as of 2026-03-20 and has been > tested on Turing. > > Signed-off-by: Alexandre Courbot <[email protected]>
Reviewed-by: Gary Guo <[email protected]> With the comment in patch 1 & 7 fixed. Best, Gary > --- > Changes in v2: > - Reorder register fields in descending order. > - Drop `nv_reg` macro and use the kernel `register` macro directly. > - Make `FUSE_UCODE1_VERSION` registers return a u16 directly. > - Use `into_raw` instead of accessing the inner value of registers directly. > - Use safer macro to generate the `From` and `TryFrom` implementations > of falcon enum types. > - Link to v1: > https://patch.msgid.link/[email protected] > > --- > Alexandre Courbot (10): > gpu: nova-core: convert PMC registers to kernel register macro > gpu: nova-core: convert PBUS registers to kernel register macro > gpu: nova-core: convert PFB registers to kernel register macro > gpu: nova-core: convert GC6 registers to kernel register macro > gpu: nova-core: convert FUSE registers to kernel register macro > gpu: nova-core: convert PDISP registers to kernel register macro > gpu: nova-core: falcon: introduce `bounded_enum` macro > gpu: nova-core: convert falcon registers to kernel register macro > gpu: nova-core: remove `io::` qualifier to register macro invocations > Documentation: nova: remove register abstraction task > > Documentation/gpu/nova/core/todo.rst | 76 --- > drivers/gpu/nova-core/falcon.rs | 582 ++++++++-------- > drivers/gpu/nova-core/falcon/gsp.rs | 27 +- > drivers/gpu/nova-core/falcon/hal/ga102.rs | 70 +- > drivers/gpu/nova-core/falcon/hal/tu102.rs | 12 +- > drivers/gpu/nova-core/falcon/sec2.rs | 17 +- > drivers/gpu/nova-core/fb.rs | 6 +- > drivers/gpu/nova-core/fb/hal/ga100.rs | 37 +- > drivers/gpu/nova-core/fb/hal/ga102.rs | 7 +- > drivers/gpu/nova-core/fb/hal/tu102.rs | 17 +- > drivers/gpu/nova-core/firmware/fwsec/bootloader.rs | 19 +- > drivers/gpu/nova-core/gfw.rs | 11 +- > drivers/gpu/nova-core/gpu.rs | 37 +- > drivers/gpu/nova-core/gsp/boot.rs | 11 +- > drivers/gpu/nova-core/gsp/cmdq.rs | 9 +- > drivers/gpu/nova-core/regs.rs | 601 +++++++++-------- > drivers/gpu/nova-core/regs/macros.rs | 739 > --------------------- > 17 files changed, 765 insertions(+), 1513 deletions(-) > --- > base-commit: a19457958c3018783881c4416f272cd594f13049 > change-id: 20260318-b4-nova-register-6908b5118552 > > Best regards,
