On Fri, 26 Jul 2024 14:37:55 +1000 Ben Skeggs <bskeggs@xxxxxxxxxx> wrote: > HW isn't touched anymore (aside from detection) until the first > nvif_device has been allocated, so we no longer need a separate > probe-only step before kicking efifb (etc) off the HW. > The patch LGTM. I am curious about what was the situation back to the time when this probe-only step was required? Like there was a period that nvkm_device_pci_new() would affect the HW states? > Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> > --- > drivers/gpu/drm/nouveau/nouveau_drm.c | 11 ++--------- > 1 file changed, 2 insertions(+), 9 deletions(-) > > diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c > b/drivers/gpu/drm/nouveau/nouveau_drm.c index > 0687bc59d486..f372bf2954aa 100644 --- > a/drivers/gpu/drm/nouveau/nouveau_drm.c +++ > b/drivers/gpu/drm/nouveau/nouveau_drm.c @@ -839,23 +839,16 @@ static > int nouveau_drm_probe(struct pci_dev *pdev, /* We need to check that > the chipset is supported before booting > * fbdev off the hardware, as there's no way to put it back. > */ > - ret = nvkm_device_pci_new(pdev, nouveau_config, "error", > - true, false, 0, &device); > + ret = nvkm_device_pci_new(pdev, nouveau_config, > nouveau_debug, > + true, true, ~0ULL, &device); > if (ret) > return ret; > > - nvkm_device_del(&device); > - > /* Remove conflicting drivers (vesafb, efifb etc). */ > ret = drm_aperture_remove_conflicting_pci_framebuffers(pdev, > &driver_pci); if (ret) > return ret; > > - ret = nvkm_device_pci_new(pdev, nouveau_config, > nouveau_debug, > - true, true, ~0ULL, &device); > - if (ret) > - return ret; > - > pci_set_master(pdev); > > if (nouveau_atomic)