drm/nvd0/disp: enable support for older display classes
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
diff --git a/drivers/gpu/drm/nouveau/nvd0_display.c b/drivers/gpu/drm/nouveau/nvd0_display.c
index 9d001c9..d0920ac 100644
--- a/drivers/gpu/drm/nouveau/nvd0_display.c
+++ b/drivers/gpu/drm/nouveau/nvd0_display.c
@@ -1896,6 +1896,11 @@
static const u16 oclass[] = {
NVE0_DISP_CLASS,
NVD0_DISP_CLASS,
+ NVA3_DISP_CLASS,
+ NV94_DISP_CLASS,
+ NVA0_DISP_CLASS,
+ NV84_DISP_CLASS,
+ NV50_DISP_CLASS,
};
struct nouveau_device *device = nouveau_dev(dev);
struct nouveau_drm *drm = nouveau_drm(dev);
@@ -1949,7 +1954,11 @@
goto out;
/* create crtc objects to represent the hw heads */
- crtcs = nv_rd32(device, 0x022448);
+ if (nv_mclass(disp->core) >= NVD0_DISP_CLASS)
+ crtcs = nv_rd32(device, 0x022448);
+ else
+ crtcs = 2;
+
for (i = 0; i < crtcs; i++) {
ret = nvd0_crtc_create(dev, disp->core, i);
if (ret)