drm/nouveau/kms/nv50-: disable dcb parsing
authorBen Skeggs <bskeggs@redhat.com>
Tue, 19 Sep 2023 21:56:39 +0000 (17:56 -0400)
committerLyude Paul <lyude@redhat.com>
Tue, 19 Sep 2023 22:22:30 +0000 (18:22 -0400)
- nvkm should provide all this info now
- preparation for GSP-RM

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
Acked-by: Danilo Krummrich <me@dakr.org>
Signed-off-by: Lyude Paul <lyude@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230919220442.202488-45-lyude@redhat.com
drivers/gpu/drm/nouveau/nouveau_bios.c
drivers/gpu/drm/nouveau/nouveau_display.c
drivers/gpu/drm/nouveau/nvif/disp.c

index 189903b65edc997d0250d9b39920f7654c105a0b..9e878cdc8e38e141ecf551a09f34b3fab90e9cef 100644 (file)
@@ -2093,9 +2093,11 @@ nouveau_bios_init(struct drm_device *dev)
        if (!NVInitVBIOS(dev))
                return -ENODEV;
 
-       ret = parse_dcb_table(dev, bios);
-       if (ret)
-               return ret;
+       if (drm->client.device.info.family < NV_DEVICE_INFO_V0_TESLA) {
+               ret = parse_dcb_table(dev, bios);
+               if (ret)
+                       return ret;
+       }
 
        if (!bios->major_version)       /* we don't run version 0 bios */
                return 0;
index 99977e5fe71612600fafd471b6aff025070bac63..d8c92521226d97c582e4b6f64c69fc90b469762a 100644 (file)
@@ -724,10 +724,10 @@ nouveau_display_create(struct drm_device *dev)
        drm_kms_helper_poll_init(dev);
        drm_kms_helper_poll_disable(dev);
 
-       if (nouveau_modeset != 2 && drm->vbios.dcb.entries) {
-               ret = nvif_disp_ctor(&drm->client.device, "kmsDisp", 0,
-                                    &disp->disp);
-               if (ret == 0) {
+       if (nouveau_modeset != 2) {
+               ret = nvif_disp_ctor(&drm->client.device, "kmsDisp", 0, &disp->disp);
+
+               if (!ret && (disp->disp.outp_mask || drm->vbios.dcb.entries)) {
                        nouveau_display_create_properties(dev);
                        if (disp->disp.object.oclass < NV50_DISP) {
                                dev->mode_config.fb_modifiers_not_supported = true;
index 09915f2715afd603bcdb85901ada8e32a0b79b19..097246e10cdb738b95fd8a81c5479e91a3f72267 100644 (file)
@@ -60,7 +60,7 @@ nvif_disp_ctor(struct nvif_device *device, const char *name, s32 oclass, struct
        cid = nvif_sclass(&device->object, disps, oclass);
        disp->object.client = NULL;
        if (cid < 0) {
-               NVIF_ERRON(cid, &device->object, "[NEW disp%04x] not supported", oclass);
+               NVIF_DEBUG(&device->object, "[NEW disp%04x] not supported", oclass);
                return cid;
        }