Dave Airlie
2023-Nov-05 20:37 UTC
[Nouveau] [PATCH] nouveau: don't fail driver load if no display hw present.
From: Dave Airlie <airlied at redhat.com> If we get back ENODEV don't fail load. Fixes: 15740541e8f0 ("drm/nouveau/devinit/tu102-: prepare for GSP-RM") Link: https://gitlab.freedesktop.org/drm/nouveau/-/issues/270 Signed-off-by: Dave Airlie <airlied at redhat.com> --- drivers/gpu/drm/nouveau/nouveau_display.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/gpu/drm/nouveau/nouveau_display.c b/drivers/gpu/drm/nouveau/nouveau_display.c index d8c92521226d..f28f9a857458 100644 --- a/drivers/gpu/drm/nouveau/nouveau_display.c +++ b/drivers/gpu/drm/nouveau/nouveau_display.c @@ -726,6 +726,11 @@ nouveau_display_create(struct drm_device *dev) if (nouveau_modeset != 2) { ret = nvif_disp_ctor(&drm->client.device, "kmsDisp", 0, &disp->disp); + /* no display hw */ + if (ret == -ENODEV) { + ret = 0; + goto disp_create_err; + } if (!ret && (disp->disp.outp_mask || drm->vbios.dcb.entries)) { nouveau_display_create_properties(dev); -- 2.41.0
Danilo Krummrich
2023-Nov-14 19:54 UTC
[Nouveau] [PATCH] nouveau: don't fail driver load if no display hw present.
On 11/5/23 21:37, Dave Airlie wrote:> From: Dave Airlie <airlied at redhat.com> > > If we get back ENODEV don't fail load.Maybe worth to note why this is OK in this case, might not be obvious to future readers of the code.> > Fixes: 15740541e8f0 ("drm/nouveau/devinit/tu102-: prepare for GSP-RM")Maybe I'm missing something subtle here, but did you maybe pick the wrong commit here? At a first glance it looks like commit 073bde453635 ("drm/nouveau/kms/nv50-: disable dcb parsing") introduced the issue. - Danilo> Link: https://gitlab.freedesktop.org/drm/nouveau/-/issues/270 > Signed-off-by: Dave Airlie <airlied at redhat.com> > --- > drivers/gpu/drm/nouveau/nouveau_display.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/gpu/drm/nouveau/nouveau_display.c b/drivers/gpu/drm/nouveau/nouveau_display.c > index d8c92521226d..f28f9a857458 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_display.c > +++ b/drivers/gpu/drm/nouveau/nouveau_display.c > @@ -726,6 +726,11 @@ nouveau_display_create(struct drm_device *dev) > > if (nouveau_modeset != 2) { > ret = nvif_disp_ctor(&drm->client.device, "kmsDisp", 0, &disp->disp); > + /* no display hw */ > + if (ret == -ENODEV) { > + ret = 0; > + goto disp_create_err; > + } > > if (!ret && (disp->disp.outp_mask || drm->vbios.dcb.entries)) { > nouveau_display_create_properties(dev);