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

From: John Hubbard

Date: Thu Nov 13 2025 - 20:55:29 EST


On 11/13/25 12:03 AM, Alexandre Courbot wrote:
> On Wed Nov 12, 2025 at 1:30 PM JST, John Hubbard wrote:
...
>> impl NV_PMC_BOOT_0 {
>> - /// Combines `architecture_0` and `architecture_1` to obtain the architecture of the chip.
>> - pub(crate) fn architecture(self) -> Result<Architecture> {
>> - Architecture::try_from(
>> - self.architecture_0() | (self.architecture_1() << Self::ARCHITECTURE_0_RANGE.len()),
>> - )
>> + pub(crate) fn is_older_than_fermi(self) -> bool {
>> + // From https://github.com/NVIDIA/open-gpu-doc/tree/master/manuals :
>> + const NV_PMC_BOOT_0_ARCHITECTURE_GF100: u8 = 0xc;
>> +
>> + // Older chips left arch1 zeroed out. That, combined with an arch0 value that is less than
>> + // GF100, means "older than Fermi".
>> + self.architecture_1() == 0 && self.architecture_0() < NV_PMC_BOOT_0_ARCHITECTURE_GF100
>
> We could also keep `architecture` (making it private) and just test for
> `self.architecture < NV_PMC_BOOT_0_ARCHITECTURE_GF100`. John, I can do
> that when applying the series if you think that makes sense.
>
> Considering that the series has been extensively reviewed during the
> previous iterations, I think we can safely apply it for 6.19, so will
> proceed once I have an answer.

Hi Alex,

It turns out that this doesn't work well, because architecture()
returns an Architecture, not a u8, and then we have to map it back
and the whole things looks a lot worse: complexity on the screen
that serves no purpose.

After looking at several approaches, I've come full circle back to
what this patch has.


thanks,
--
John Hubbard