Re: [PATCH 1/2] gpu: nova-core: add initial driver stub
From: Joel Fernandes
Date: Mon Feb 03 2025 - 16:54:12 EST
On Mon, Feb 3, 2025 at 4:00 PM John Hubbard <jhubbard@xxxxxxxxxx> wrote:
[..]
>
> >> + ()
> >> + )]
> >> +);
> >> +
> >> +impl pci::Driver for NovaCore {
> >> + type IdInfo = ();
> >> + const ID_TABLE: pci::IdTable<Self::IdInfo> = &PCI_TABLE;
> >> +
> >> + fn probe(pdev: &mut pci::Device, _info: &Self::IdInfo) -> Result<Pin<KBox<Self>>> {
> >> + dev_dbg!(pdev.as_ref(), "Probe Nova Core GPU driver.\n");
> >> +
> >> + pdev.enable_device_mem()?;
> >> + pdev.set_master();
> >> +
> >> + let bar = pdev.iomap_region_sized::<BAR0_SIZE>(0, c_str!("nova-core"))?;
> >> +
> >> + let this = KBox::pin_init(
> >> + try_pin_init!(Self {
> >> + gpu <- Gpu::new(pdev, bar)?,
>
> Here. Try to construct a Gpu, which tries to construct a GpuSpec, which
> fails out if Chipset is not listed, or if CardType (which should be
> renamed to Architecture) is not listed.
>
> And only Turing+ GPUs are listed. Turing is the first GPU that has a
> GSP unit.
>
> By the way, I have loaded this on a system with a Kepler GPU (pre-Turing),
> and an Ampere GPU, and traced through actually loading NovaCore, and it
> behaves as described above.
Ah that makes sense, Thanks John!
- Joel