aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2012-11-15 20:44:14 -0500
committerBen Skeggs <bskeggs@redhat.com>2012-11-28 18:57:56 -0500
commit63718a0730c666edcac94c261d1df5edef80fd23 (patch)
treebbf63e6ad3841d238d109066cb4fe72479eb41c9 /drivers/gpu/drm/nouveau
parent47057302f075578618ea36fc3c4c97a5a6f97f00 (diff)
drm/nvd0/disp: enable support for older display classes
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau')
-rw-r--r--drivers/gpu/drm/nouveau/nvd0_display.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/gpu/drm/nouveau/nvd0_display.c b/drivers/gpu/drm/nouveau/nvd0_display.c
index 9d001c994d1..d0920acea74 100644
--- a/drivers/gpu/drm/nouveau/nvd0_display.c
+++ b/drivers/gpu/drm/nouveau/nvd0_display.c
@@ -1896,6 +1896,11 @@ nvd0_display_create(struct drm_device *dev)
1896 static const u16 oclass[] = { 1896 static const u16 oclass[] = {
1897 NVE0_DISP_CLASS, 1897 NVE0_DISP_CLASS,
1898 NVD0_DISP_CLASS, 1898 NVD0_DISP_CLASS,
1899 NVA3_DISP_CLASS,
1900 NV94_DISP_CLASS,
1901 NVA0_DISP_CLASS,
1902 NV84_DISP_CLASS,
1903 NV50_DISP_CLASS,
1899 }; 1904 };
1900 struct nouveau_device *device = nouveau_dev(dev); 1905 struct nouveau_device *device = nouveau_dev(dev);
1901 struct nouveau_drm *drm = nouveau_drm(dev); 1906 struct nouveau_drm *drm = nouveau_drm(dev);
@@ -1949,7 +1954,11 @@ nvd0_display_create(struct drm_device *dev)
1949 goto out; 1954 goto out;
1950 1955
1951 /* create crtc objects to represent the hw heads */ 1956 /* create crtc objects to represent the hw heads */
1952 crtcs = nv_rd32(device, 0x022448); 1957 if (nv_mclass(disp->core) >= NVD0_DISP_CLASS)
1958 crtcs = nv_rd32(device, 0x022448);
1959 else
1960 crtcs = 2;
1961
1953 for (i = 0; i < crtcs; i++) { 1962 for (i = 0; i < crtcs; i++) {
1954 ret = nvd0_crtc_create(dev, disp->core, i); 1963 ret = nvd0_crtc_create(dev, disp->core, i);
1955 if (ret) 1964 if (ret)