|
@@ -2199,16 +2199,6 @@ nv50_display_destroy(struct drm_device *dev)
|
|
|
int
|
|
|
nv50_display_create(struct drm_device *dev)
|
|
|
{
|
|
|
- static const u16 oclass[] = {
|
|
|
- NVF0_DISP_CLASS,
|
|
|
- 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);
|
|
|
struct dcb_table *dcb = &drm->vbios.dcb;
|
|
@@ -2225,6 +2215,7 @@ nv50_display_create(struct drm_device *dev)
|
|
|
nouveau_display(dev)->dtor = nv50_display_destroy;
|
|
|
nouveau_display(dev)->init = nv50_display_init;
|
|
|
nouveau_display(dev)->fini = nv50_display_fini;
|
|
|
+ disp->core = nouveau_display(dev)->core;
|
|
|
|
|
|
/* small shared memory area we use for notifiers and semaphores */
|
|
|
ret = nouveau_bo_new(dev, 4096, 0x1000, TTM_PL_FLAG_VRAM,
|
|
@@ -2240,17 +2231,6 @@ nv50_display_create(struct drm_device *dev)
|
|
|
nouveau_bo_ref(NULL, &disp->sync);
|
|
|
}
|
|
|
|
|
|
- if (ret)
|
|
|
- goto out;
|
|
|
-
|
|
|
- /* attempt to allocate a supported evo display class */
|
|
|
- ret = -ENODEV;
|
|
|
- for (i = 0; ret && i < ARRAY_SIZE(oclass); i++) {
|
|
|
- ret = nouveau_object_new(nv_object(drm), NVDRM_DEVICE,
|
|
|
- 0xd1500000, oclass[i], NULL, 0,
|
|
|
- &disp->core);
|
|
|
- }
|
|
|
-
|
|
|
if (ret)
|
|
|
goto out;
|
|
|
|