drm/nouveau/kms/nv04-nv4x: move a bunch of pre-nv50 page flip code to dispnv04
[linux-2.6-block.git] / drivers / gpu / drm / nouveau / nouveau_drm.c
index f900e94592f8c1ab1f7c54bd8810f241363933c9..4ee530c941b1bde1baed3749bee4cbc9b89dfecd 100644 (file)
@@ -44,7 +44,6 @@
 #include <nvif/class.h>
 #include <nvif/cl0002.h>
 #include <nvif/cla06f.h>
-#include <nvif/if0004.h>
 
 #include "nouveau_drv.h"
 #include "nouveau_dma.h"
@@ -288,7 +287,6 @@ nouveau_accel_fini(struct nouveau_drm *drm)
        nouveau_channel_idle(drm->channel);
        nvif_object_fini(&drm->ntfy);
        nvkm_gpuobj_del(&drm->notify);
-       nvif_notify_fini(&drm->flip);
        nvif_object_fini(&drm->nvsw);
        nouveau_channel_del(&drm->channel);
 
@@ -412,17 +410,6 @@ nouveau_accel_init(struct nouveau_drm *drm)
                                BEGIN_NV04(drm->channel, NvSubSw, 0, 1);
                                OUT_RING  (drm->channel, drm->nvsw.handle);
                        }
-
-                       ret = nvif_notify_init(&drm->nvsw,
-                                              nouveau_flip_complete,
-                                              false, NV04_NVSW_NTFY_UEVENT,
-                                              NULL, 0, 0, &drm->flip);
-                       if (ret == 0)
-                               ret = nvif_notify_get(&drm->flip);
-                       if (ret) {
-                               nouveau_accel_fini(drm);
-                               return;
-                       }
                }
 
                if (ret) {
@@ -504,6 +491,8 @@ nouveau_drm_device_init(struct drm_device *dev)
        if (ret)
                goto fail_bios;
 
+       nouveau_accel_init(drm);
+
        ret = nouveau_display_create(dev);
        if (ret)
                goto fail_dispctor;
@@ -516,7 +505,6 @@ nouveau_drm_device_init(struct drm_device *dev)
 
        nouveau_debugfs_init(drm);
        nouveau_hwmon_init(dev);
-       nouveau_accel_init(drm);
        nouveau_fbcon_init(dev);
        nouveau_led_init(dev);
 
@@ -534,6 +522,7 @@ nouveau_drm_device_init(struct drm_device *dev)
 fail_dispinit:
        nouveau_display_destroy(dev);
 fail_dispctor:
+       nouveau_accel_fini(drm);
        nouveau_bios_takedown(dev);
 fail_bios:
        nouveau_ttm_fini(drm);
@@ -559,7 +548,6 @@ nouveau_drm_device_fini(struct drm_device *dev)
 
        nouveau_led_fini(dev);
        nouveau_fbcon_fini(dev);
-       nouveau_accel_fini(drm);
        nouveau_hwmon_fini(dev);
        nouveau_debugfs_fini(drm);
 
@@ -567,6 +555,7 @@ nouveau_drm_device_fini(struct drm_device *dev)
                nouveau_display_fini(dev, false, false);
        nouveau_display_destroy(dev);
 
+       nouveau_accel_fini(drm);
        nouveau_bios_takedown(dev);
 
        nouveau_ttm_fini(drm);