Re: [PATCH v3 2/2] gpu: nova-core: add boot42 support for next-gen GPUs

From: John Hubbard
Date: Sat Nov 01 2025 - 20:35:49 EST


On 10/29/25 7:05 AM, Alexandre Courbot wrote:
> On Wed Oct 29, 2025 at 12:03 PM JST, John Hubbard wrote:
> <snip>
> This allows the implementation of `NV_PMC_BOOT_42` to mirror that of
> `NV_PMC_BOOT_0`:
>
> impl NV_PMC_BOOT_42 {
> pub(crate) fn chipset(self) -> Result<Chipset> {
> self.architecture()
> .map(|arch| {
> ((arch as u32) << Self::IMPLEMENTATION_RANGE.len())

A quick note: _RANGE() and related functions are (I think?) deeply,
madly undocumented. Not only is bitfield a macro within a macro, but
bitfield itself leaves the user with only the following as "documentation":

::kernel::macros::paste!(
const [<$field:upper _RANGE>]: ::core::ops::RangeInclusive<u8> = $lo..=$hi;

The net result is that those of us who did not author or carefully
review register!() and bitfield!() are going to have a rough time
using these facilities.

I'm not sure of the best way to add documentation here, but just
thought I'd better give an early warning about this.


thanks,
--
John Hubbard