diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2012-11-16 11:44:14 +1000 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2012-11-29 09:57:56 +1000 |
commit | 63718a0730c666edcac94c261d1df5edef80fd23 (patch) | |
tree | bbf63e6ad3841d238d109066cb4fe72479eb41c9 /drivers/gpu/drm | |
parent | 47057302f075578618ea36fc3c4c97a5a6f97f00 (diff) |
drm/nvd0/disp: enable support for older display classes
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm')
-rw-r--r-- | drivers/gpu/drm/nouveau/nvd0_display.c | 11 |
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) 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 @@ nvd0_display_create(struct drm_device *dev) 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) |