drm/nouveau/kms/nv50-: simplify swap interval handling
authorBen Skeggs <bskeggs@redhat.com>
Tue, 8 May 2018 10:39:47 +0000 (20:39 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Fri, 18 May 2018 05:01:29 +0000 (15:01 +1000)
This is just cleaning up some left-overs from when we needed a custom
legacy page flip implementation.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/dispnv50/atom.h
drivers/gpu/drm/nouveau/dispnv50/wndw.c

index 53638ee833615bc2bec9bc0a56649d97d0bed948..b5b8a12a18f263b59f5a7b8e51faa26d40897195 100644 (file)
@@ -135,7 +135,6 @@ nv50_head_atom_get(struct drm_atomic_state *state, struct drm_crtc *crtc)
 
 struct nv50_wndw_atom {
        struct drm_plane_state state;
-       u8 interval;
 
        struct {
                u32  handle;
index 0fba4e0a4bb4b8cbf0188eb64c586e5f2a268d74..06d1696b7d03d947466e86616c4c03ee0bde7716 100644 (file)
@@ -208,11 +208,6 @@ nv50_wndw_atomic_check_acquire(struct nv50_wndw *wndw,
        if (ret)
                return ret;
 
-       if (asyh->state.pageflip_flags & DRM_MODE_PAGE_FLIP_ASYNC)
-               asyw->interval = 0;
-       else
-               asyw->interval = 1;
-
        if (asyw->image.kind) {
                asyw->image.layout = 0;
                if (drm->client.device.info.chipset >= 0xc0)
@@ -231,10 +226,11 @@ nv50_wndw_atomic_check_acquire(struct nv50_wndw *wndw,
                return ret;
 
        if (asyw->set.image) {
-               if (!(asyw->image.mode = asyw->interval ? 0 : 1))
-                       asyw->image.interval = asyw->interval;
+               if (!(asyh->state.pageflip_flags & DRM_MODE_PAGE_FLIP_ASYNC))
+                       asyw->image.interval = 1;
                else
                        asyw->image.interval = 0;
+               asyw->image.mode = asyw->image.interval ? 0 : 1;
        }
 
        return 0;
@@ -371,7 +367,6 @@ nv50_wndw_atomic_duplicate_state(struct drm_plane *plane)
        if (!(asyw = kmalloc(sizeof(*asyw), GFP_KERNEL)))
                return NULL;
        __drm_atomic_helper_plane_duplicate_state(plane, &asyw->state);
-       asyw->interval = 1;
        asyw->sema = armw->sema;
        asyw->ntfy = armw->ntfy;
        asyw->image = armw->image;