From: Ben Skeggs <bske...@redhat.com>

- nvkm should provide all this info now
- preparation for GSP-RM

Signed-off-by: Ben Skeggs <bske...@redhat.com>
Reviewed-by: Lyude Paul <ly...@redhat.com>
Acked-by: Danilo Krummrich <m...@dakr.org>
Signed-off-by: Lyude Paul <ly...@redhat.com>
---
 drivers/gpu/drm/nouveau/nouveau_bios.c    | 8 +++++---
 drivers/gpu/drm/nouveau/nouveau_display.c | 8 ++++----
 drivers/gpu/drm/nouveau/nvif/disp.c       | 2 +-
 3 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/nouveau_bios.c 
b/drivers/gpu/drm/nouveau/nouveau_bios.c
index 189903b65edc9..9e878cdc8e38e 100644
--- a/drivers/gpu/drm/nouveau/nouveau_bios.c
+++ b/drivers/gpu/drm/nouveau/nouveau_bios.c
@@ -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;
diff --git a/drivers/gpu/drm/nouveau/nouveau_display.c 
b/drivers/gpu/drm/nouveau/nouveau_display.c
index 99977e5fe7161..d8c92521226d9 100644
--- a/drivers/gpu/drm/nouveau/nouveau_display.c
+++ b/drivers/gpu/drm/nouveau/nouveau_display.c
@@ -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;
diff --git a/drivers/gpu/drm/nouveau/nvif/disp.c 
b/drivers/gpu/drm/nouveau/nvif/disp.c
index 09915f2715afd..097246e10cdb7 100644
--- a/drivers/gpu/drm/nouveau/nvif/disp.c
+++ b/drivers/gpu/drm/nouveau/nvif/disp.c
@@ -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;
        }
 
-- 
2.41.0

Reply via email to