On Thu Aug 21, 2025 at 6:42 AM CEST, John Hubbard wrote: > NovaCore has so far been too imprecise about figuring out if .probe() > has found a supported PCI PF (Physical Function). By that I mean: > .probe() sets up BAR0 (which involves a lot of very careful devres and > Device<Bound> details behind the scenes). And then if it is dealing with > a non-supported device such as the .1 audio PF on many GPUs, it fails > out due to an unexpected BAR0 size. We have been fortunate that the BAR0 > sizes are different. > > Really, we should be filtering on PCI class ID instead. These days I > think we can confidently pick out Nova's supported PF's via PCI class > ID. And if not, then we'll revisit. > > The approach here is to filter on "Display VGA" or "Display 3D", which > is how PCI class IDs express "this is a modern GPU's PF". > > Cc: Danilo Krummrich <dakr@xxxxxxxxxx> > Cc: Alexandre Courbot <acourbot@xxxxxxxxxx> > Cc: Elle Rhumsaa <elle@xxxxxxxxxxxxxxxxxxx> > Signed-off-by: John Hubbard <jhubbard@xxxxxxxxxx> > --- > drivers/gpu/nova-core/driver.rs | 33 ++++++++++++++++++++++++++++----- > rust/kernel/pci.rs | 21 +++++++++++++++++++++ Can you please split this one up in two patches? > 2 files changed, 49 insertions(+), 5 deletions(-)