nouveau: don't fail driver load if no display hw present.
authorDave Airlie <airlied@redhat.com>
Wed, 15 Nov 2023 14:39:33 +0000 (00:39 +1000)
committerDanilo Krummrich <dakr@redhat.com>
Wed, 15 Nov 2023 17:23:31 +0000 (18:23 +0100)
If we get back ENODEV don't fail load. There are nvidia devices
that don't have display blocks and the driver should work on those.

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@redhat.com>
Signed-off-by: Danilo Krummrich <dakr@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20231115143933.261287-1-airlied@gmail.com
drivers/gpu/drm/nouveau/nouveau_display.c

index d8c9252..f28f9a8 100644 (file)
@@ -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);