NVIDIA GPUs are moving away from using NV_PMC_BOOT_0 to contain architecture and revision details, and will instead use NV_PMC_BOOT_42 in the future. NV_PMC_BOOT_0 will be zeroed out.
Change the selection logic in Nova so that it will claim Turing and later GPUs. This will work for the foreseeable future, without any further code changes here, because all NVIDIA GPUs are considered, from the oldest supported on Linux (NV04), through the future GPUs. Add some comment documentation to explain, chronologically, how boot0 and boot42 change with the GPU eras, and how that affects the selection logic. Also, remove a couple of types: Spec and Revision. That deletes a net total of 33 lines of code and simplifies that area of code. It also simplifies the subsequent boot42 support diffs. This is based on today's drm-rust-next, which in turn is based on Linux 6.18-rc2. John Hubbard (2): gpu: nova: remove Spec and Revision types gpu: nova: add boot42 support for next-gen GPUs drivers/gpu/nova-core/gpu.rs | 120 ++++++++++++++++++++-------------- drivers/gpu/nova-core/regs.rs | 28 ++++++++ 2 files changed, 98 insertions(+), 50 deletions(-) base-commit: d3917368ebc5cd89d7d08eab4673e5c4c73ff42f -- 2.51.1
