rust-for-linux.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/2] gpu: nova: add boot42 support for next-gen GPUs
@ 2025-10-29  3:03 John Hubbard
  2025-10-29  3:03 ` [PATCH v3 1/2] gpu: nova-core: prepare Spec and Revision types for boot0/boot42 John Hubbard
  2025-10-29  3:03 ` [PATCH v3 2/2] gpu: nova-core: add boot42 support for next-gen GPUs John Hubbard
  0 siblings, 2 replies; 27+ messages in thread
From: John Hubbard @ 2025-10-29  3:03 UTC (permalink / raw)
  To: Danilo Krummrich
  Cc: Alexandre Courbot, Joel Fernandes, Timur Tabi, Alistair Popple,
	Edwin Peer, Zhi Wang, David Airlie, Simona Vetter, Bjorn Helgaas,
	Miguel Ojeda, Alex Gaynor, Boqun Feng, Gary Guo,
	Björn Roy Baron, Benno Lossin, Andreas Hindborg, Alice Ryhl,
	Trevor Gross, nouveau, rust-for-linux, LKML, John Hubbard

Changes in v3:

1) Restored the Revision type as recommended by Danilo, but decoupled it
from boot0.

2) Applied Alex Courbot's suggestion to use TryFrom<NV_PMC_BOOT_0/42>
for Spec.

3) Reflowed the new comment documentation to 100 cols, to avoid wasting
a few vertical lines.

Changes in v2:

1) Restored the Spec type, and used that to encapsulate the subsequent
   boot42 enhancements. Thanks to Danilo Krummrich's feedback for that
   improvement.

v1 cover letter:

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 the Revision type, because Revision is no longer valuable
as a stand-alone type, because we only ever want the full information
that Spec provides.

This is based on today's drm-rust-next, which in turn is based on
Linux 6.18-rc2.

John Hubbard (2):
  gpu: nova-core: prepare Spec and Revision types for boot0/boot42
  gpu: nova-core: add boot42 support for next-gen GPUs

 drivers/gpu/nova-core/gpu.rs  | 94 ++++++++++++++++++++++++++++-------
 drivers/gpu/nova-core/regs.rs | 27 ++++++++++
 2 files changed, 103 insertions(+), 18 deletions(-)


base-commit: ca16b15e78f4dee1631c0a68693f5e7d9b3bb3ec
-- 
2.51.2


^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2025-11-08  2:04 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-29  3:03 [PATCH v3 0/2] gpu: nova: add boot42 support for next-gen GPUs John Hubbard
2025-10-29  3:03 ` [PATCH v3 1/2] gpu: nova-core: prepare Spec and Revision types for boot0/boot42 John Hubbard
2025-10-29  3:03 ` [PATCH v3 2/2] gpu: nova-core: add boot42 support for next-gen GPUs John Hubbard
2025-10-29 11:26   ` Danilo Krummrich
2025-10-29 13:54     ` Alexandre Courbot
2025-10-30  0:37       ` John Hubbard
2025-10-30  0:54         ` Alexandre Courbot
2025-10-30  1:09           ` John Hubbard
2025-10-30  0:29     ` John Hubbard
2025-10-30  0:31       ` Timur Tabi
2025-10-30  0:35         ` John Hubbard
2025-10-30  1:01           ` Timur Tabi
2025-10-30  1:07             ` John Hubbard
2025-10-30  1:13               ` John Hubbard
2025-10-30  1:44               ` Timur Tabi
2025-10-30  5:30                 ` John Hubbard
2025-10-30 14:22                   ` Timur Tabi
2025-10-30 14:45                     ` Danilo Krummrich
2025-10-29 14:05   ` Alexandre Courbot
2025-10-31  0:04     ` John Hubbard
2025-11-02  0:34     ` John Hubbard
2025-11-02  2:41       ` Alexandre Courbot
2025-11-02  3:33         ` John Hubbard
2025-11-08  1:55           ` Alexandre Courbot
2025-11-08  2:03             ` John Hubbard
2025-10-29 15:02   ` Timur Tabi
2025-10-29 23:15     ` John Hubbard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).