<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/gpu/nova-core/gpu.rs, branch v7.0-rc7</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v7.0-rc7</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v7.0-rc7'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2026-01-12T13:44:06+00:00</updated>
<entry>
<title>gpu: nova-core: add missing newlines to several print strings</title>
<updated>2026-01-12T13:44:06+00:00</updated>
<author>
<name>Timur Tabi</name>
<email>ttabi@nvidia.com</email>
</author>
<published>2026-01-07T20:16:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=654826aa4a8f25cf825ad9254f37e6cb5092098f'/>
<id>urn:sha1:654826aa4a8f25cf825ad9254f37e6cb5092098f</id>
<content type='text'>
Although the dev_xx!() macro calls do not technically require terminating
newlines for the format strings, they should be added anyway to maintain
consistency, both within Rust code and with the C versions.

Signed-off-by: Timur Tabi &lt;ttabi@nvidia.com&gt;
Reviewed-by: John Hubbard &lt;jhubbard@nvidia.com&gt;
Link: https://patch.msgid.link/20260107201647.2490140-2-ttabi@nvidia.com
Signed-off-by: Danilo Krummrich &lt;dakr@kernel.org&gt;
</content>
</entry>
<entry>
<title>gpu: nova-core: gsp: get rid of redundant Result in Gsp::new()</title>
<updated>2025-12-29T16:54:31+00:00</updated>
<author>
<name>Danilo Krummrich</name>
<email>dakr@kernel.org</email>
</author>
<published>2025-12-18T15:50:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=032a6772d663a26005f4c17be992a716457f095b'/>
<id>urn:sha1:032a6772d663a26005f4c17be992a716457f095b</id>
<content type='text'>
In Gsp::new(), utilize pin_init_scope() to get rid of the Result in the
returned

	Result&lt;impl PinInit&lt;T, Error&gt;&gt;

which is unnecessarily redundant.

Reviewed-by: Joel Fernandes &lt;joelagnelf@nvidia.com&gt;
Link: https://patch.msgid.link/20251218155239.25243-4-dakr@kernel.org
Signed-off-by: Danilo Krummrich &lt;dakr@kernel.org&gt;
</content>
</entry>
<entry>
<title>gpu: nova-core: make formatting compatible with rust tree</title>
<updated>2025-11-17T12:56:36+00:00</updated>
<author>
<name>Alice Ryhl</name>
<email>aliceryhl@google.com</email>
</author>
<published>2025-11-17T10:39:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=77b686f688126a5f758b51441a03186e9eb1b0f1'/>
<id>urn:sha1:77b686f688126a5f758b51441a03186e9eb1b0f1</id>
<content type='text'>
Commit 38b7cc448a5b ("gpu: nova-core: implement Display for Spec") in
drm-rust-next introduced some usage of the Display trait, but the
Display trait is being modified in the rust tree this cycle. Thus, to
avoid conflicts with the Rust tree, tweak how the formatting machinery
is used in a way where it works both with and without the changes in the
Rust tree.

Reviewed-by: Alexandre Courbot &lt;acourbot@nvidia.com&gt;
Tested-by: Alexandre Courbot &lt;acourbot@nvidia.com&gt;
Link: https://patch.msgid.link/20251117-nova-fmt-rust-v1-1-651ca28cd98f@google.com
Signed-off-by: Alice Ryhl &lt;aliceryhl@google.com&gt;
</content>
</entry>
<entry>
<title>gpu: nova-core: provide a clear error report for unsupported GPUs</title>
<updated>2025-11-15T14:11:28+00:00</updated>
<author>
<name>John Hubbard</name>
<email>jhubbard@nvidia.com</email>
</author>
<published>2025-11-15T01:09:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ce89e3e019f1ec4b11356f35feb8bd8c0f2c6bf7'/>
<id>urn:sha1:ce89e3e019f1ec4b11356f35feb8bd8c0f2c6bf7</id>
<content type='text'>
Pass in a PCI device to Spec::new(), and provide a Display
implementation for boot42, in order to provide a clear, concise report
of what happened: the driver read NV_PMC_BOOT42, and found that the GPU
is not supported.

For very old GPUs (older than Fermi), the driver still returns ENODEV,
but it does so without a driver-specific dmesg report. That is exactly
appropriate, because if such a GPU is installed, it can only be
supported by Nouveau. And if so, the user is not helped by additional
error messages from Nova.

Here's the full dmesg output for a Blackwell (not yet supported) GPU:

NovaCore 0000:01:00.0: Probe Nova Core GPU driver.
NovaCore 0000:01:00.0: Unsupported chipset: boot42 = 0x1b2a1000 (architecture 0x1b, implementation 0x2)
NovaCore 0000:01:00.0: probe with driver NovaCore failed with error -524

Cc: Alexandre Courbot &lt;acourbot@nvidia.com&gt;
Cc: Danilo Krummrich &lt;dakr@kernel.org&gt;
Cc: Timur Tabi &lt;ttabi@nvidia.com&gt;
Cc: Joel Fernandes &lt;joelagnelf@nvidia.com&gt;
Signed-off-by: John Hubbard &lt;jhubbard@nvidia.com&gt;
[acourbot@nvidia.com: fix commit log with ENODEV (not ENOTSUPP) error
code for unsupported GPUs.]
Signed-off-by: Alexandre Courbot &lt;acourbot@nvidia.com&gt;
Message-ID: &lt;20251115010923.1192144-5-jhubbard@nvidia.com&gt;
</content>
</entry>
<entry>
<title>gpu: nova-core: add boot42 support for next-gen GPUs</title>
<updated>2025-11-15T14:11:27+00:00</updated>
<author>
<name>John Hubbard</name>
<email>jhubbard@nvidia.com</email>
</author>
<published>2025-11-15T01:09:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=0ecc08e2c450d9d3aebfc0c093db444d77557469'/>
<id>urn:sha1:0ecc08e2c450d9d3aebfc0c093db444d77557469</id>
<content type='text'>
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 contain a specific set of values
that will mean "go read NV_PMC_BOOT_42 instead".

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.

Cc: Alexandre Courbot &lt;acourbot@nvidia.com&gt;
Cc: Danilo Krummrich &lt;dakr@kernel.org&gt;
Cc: Timur Tabi &lt;ttabi@nvidia.com&gt;
Reviewed-by: Joel Fernandes &lt;joelagnelf@nvidia.com&gt;
Signed-off-by: John Hubbard &lt;jhubbard@nvidia.com&gt;
[acourbot@nvidia.com: remove unneeded `From&lt;BOOT_0&gt; for Revision`
implementation.]
Signed-off-by: Alexandre Courbot &lt;acourbot@nvidia.com&gt;
Message-ID: &lt;20251115010923.1192144-4-jhubbard@nvidia.com&gt;
</content>
</entry>
<entry>
<title>gpu: nova-core: make Architecture behave as a u8 type</title>
<updated>2025-11-15T13:57:37+00:00</updated>
<author>
<name>John Hubbard</name>
<email>jhubbard@nvidia.com</email>
</author>
<published>2025-11-15T01:09:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=4d980333a66341a764a64a29df668aac1cd6ec41'/>
<id>urn:sha1:4d980333a66341a764a64a29df668aac1cd6ec41</id>
<content type='text'>
This allows Architecture to be passed into register!() and bitfield!()
macro calls. That in turn requires a default implementation for
Architecture.

This simplifies transforming BOOT0 (and later, BOOT42) register values
into GPU architectures.

Cc: Danilo Krummrich &lt;dakr@kernel.org&gt;
Cc: Timur Tabi &lt;ttabi@nvidia.com&gt;
Suggested-by: Alexandre Courbot &lt;acourbot@nvidia.com&gt;
Reviewed-by: Joel Fernandes &lt;joelagnelf@nvidia.com&gt;
Signed-off-by: John Hubbard &lt;jhubbard@nvidia.com&gt;
Signed-off-by: Alexandre Courbot &lt;acourbot@nvidia.com&gt;
Message-ID: &lt;20251115010923.1192144-3-jhubbard@nvidia.com&gt;
</content>
</entry>
<entry>
<title>gpu: nova-core: prepare Spec and Revision types for boot0/boot42</title>
<updated>2025-11-15T13:57:37+00:00</updated>
<author>
<name>John Hubbard</name>
<email>jhubbard@nvidia.com</email>
</author>
<published>2025-11-15T01:09:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=df6137e263ee6ac3921f87321e784421eb64fb35'/>
<id>urn:sha1:df6137e263ee6ac3921f87321e784421eb64fb35</id>
<content type='text'>
Allow a both Revision and Spec to be constructed directly from a
NV_PMC_BOOT_0 register.

Also, slightly enhance the comment about Spec, to be more precise.

Cc: Alexandre Courbot &lt;acourbot@nvidia.com&gt;
Cc: Danilo Krummrich &lt;dakr@kernel.org&gt;
Cc: Timur Tabi &lt;ttabi@nvidia.com&gt;
Reviewed-by: Joel Fernandes &lt;joelagnelf@nvidia.com&gt;
Signed-off-by: John Hubbard &lt;jhubbard@nvidia.com&gt;
Signed-off-by: Alexandre Courbot &lt;acourbot@nvidia.com&gt;
Message-ID: &lt;20251115010923.1192144-2-jhubbard@nvidia.com&gt;
</content>
</entry>
<entry>
<title>gpu: nova-core: implement Display for Spec</title>
<updated>2025-11-14T14:39:27+00:00</updated>
<author>
<name>John Hubbard</name>
<email>jhubbard@nvidia.com</email>
</author>
<published>2025-11-14T02:41:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=38b7cc448a5b6772cad2b853a011f507ad95306a'/>
<id>urn:sha1:38b7cc448a5b6772cad2b853a011f507ad95306a</id>
<content type='text'>
Implement Display for Spec. This simplifies the dev_info!() code for
printing banners such as:

    NVIDIA (Chipset: GA104, Architecture: Ampere, Revision: a.1)

Cc: Alexandre Courbot &lt;acourbot@nvidia.com&gt;
Cc: Danilo Krummrich &lt;dakr@kernel.org&gt;
Cc: Timur Tabi &lt;ttabi@nvidia.com&gt;
Reviewed-by: Joel Fernandes &lt;joelagnelf@nvidia.com&gt;
Signed-off-by: John Hubbard &lt;jhubbard@nvidia.com&gt;
Signed-off-by: Alexandre Courbot &lt;acourbot@nvidia.com&gt;
Message-ID: &lt;20251114024109.465136-2-jhubbard@nvidia.com&gt;
</content>
</entry>
<entry>
<title>gpu: nova-core: Create initial Gsp</title>
<updated>2025-11-14T11:25:56+00:00</updated>
<author>
<name>Alistair Popple</name>
<email>apopple@nvidia.com</email>
</author>
<published>2025-11-10T13:34:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f38b4f105cfc19598bdb512c08f5d27be774f0de'/>
<id>urn:sha1:f38b4f105cfc19598bdb512c08f5d27be774f0de</id>
<content type='text'>
The GSP requires several areas of memory to operate. Each of these have
their own simple embedded page tables. Set these up and map them for DMA
to/from GSP using CoherentAllocation's. Return the DMA handle describing
where each of these regions are for future use when booting GSP.

Signed-off-by: Alistair Popple &lt;apopple@nvidia.com&gt;
Co-developed-by: Alexandre Courbot &lt;acourbot@nvidia.com&gt;
Signed-off-by: Alexandre Courbot &lt;acourbot@nvidia.com&gt;
Message-ID: &lt;20251110-gsp_boot-v9-4-8ae4058e3c0e@nvidia.com&gt;
</content>
</entry>
<entry>
<title>gpu: nova-core: apply the one "use" item per line policy</title>
<updated>2025-11-07T14:10:44+00:00</updated>
<author>
<name>John Hubbard</name>
<email>jhubbard@nvidia.com</email>
</author>
<published>2025-11-07T02:10:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=173c99b85aa05387fcfb3231293124c5d611d167'/>
<id>urn:sha1:173c99b85aa05387fcfb3231293124c5d611d167</id>
<content type='text'>
As per [1], we need one "use" item per line, in order to reduce merge
conflicts. Furthermore, we need a trailing ", //" in order to tell
rustfmt(1) to leave it alone.

This does that for the entire nova-core driver.

[1] https://docs.kernel.org/rust/coding-guidelines.html#imports

Acked-by: Danilo Krummrich &lt;dakr@kernel.org&gt;
Signed-off-by: John Hubbard &lt;jhubbard@nvidia.com&gt;
[acourbot@nvidia.com: remove imports already in prelude as pointed out
by Danilo.]
[acourbot@nvidia.com: remove a few unneeded trailing `//`.]
Signed-off-by: Alexandre Courbot &lt;acourbot@nvidia.com&gt;
Message-ID: &lt;20251107021006.434109-1-jhubbard@nvidia.com&gt;
</content>
</entry>
</feed>
