gpu: nova-core: Hopper/Blackwell: skip GFW boot waiting

Hopper and Blackwell GPUs use FSP-based secure boot and do not
require waiting for GFW_BOOT completion. Add a Gh100 GPU HAL that
returns Ok(()) for wait_gfw_boot_completion(), and route Hopper
and Blackwell architectures to it.

Signed-off-by: John Hubbard <jhubbard@nvidia.com>
Acked-by: Danilo Krummrich <dakr@kernel.org>
Link: https://patch.msgid.link/20260411024953.473149-8-jhubbard@nvidia.com
Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
This commit is contained in:
John Hubbard 2026-04-10 19:49:32 -07:00 committed by Alexandre Courbot
parent 8ff326fa0a
commit 11a63a5335
2 changed files with 23 additions and 6 deletions

View File

@ -10,6 +10,7 @@
},
};
mod gh100;
mod tu102;
pub(crate) trait GpuHal {
@ -19,11 +20,9 @@ pub(crate) trait GpuHal {
pub(super) fn gpu_hal(chipset: Chipset) -> &'static dyn GpuHal {
match chipset.arch() {
Architecture::Turing
| Architecture::Ampere
| Architecture::Ada
| Architecture::Hopper
| Architecture::BlackwellGB10x
| Architecture::BlackwellGB20x => tu102::TU102_HAL,
Architecture::Turing | Architecture::Ampere | Architecture::Ada => tu102::TU102_HAL,
Architecture::Hopper | Architecture::BlackwellGB10x | Architecture::BlackwellGB20x => {
gh100::GH100_HAL
}
}
}

View File

@ -0,0 +1,18 @@
// SPDX-License-Identifier: GPL-2.0
use kernel::prelude::*;
use crate::driver::Bar0;
use super::GpuHal;
struct Gh100;
impl GpuHal for Gh100 {
fn wait_gfw_boot_completion(&self, _bar: &Bar0) -> Result {
Ok(())
}
}
const GH100: Gh100 = Gh100;
pub(super) const GH100_HAL: &dyn GpuHal = &GH100;