drm/i915: overlay: kill one more unnecessary uninterruptible sleep
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Sun, 4 Oct 2009 13:00:36 +0000 (15:00 +0200)
committerEric Anholt <eric@anholt.net>
Thu, 5 Nov 2009 22:47:10 +0000 (14:47 -0800)
I've simply overlooked one case in the conversion to interruptible
sleeps. Rectify this.

Also delete a leftover debug printk.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Eric Anholt <eric@anholt.net>
drivers/gpu/drm/i915/intel_overlay.c

index 972d715..f1bf0b0 100644 (file)
@@ -286,16 +286,15 @@ static int intel_overlay_wait_flip(struct intel_overlay *overlay)
        RING_LOCALS;
 
        if (overlay->last_flip_req != 0) {
-               ret = i915_do_wait_request(dev, overlay->last_flip_req, 0);
-               if (ret != 0)
-                       return ret;
-
-               overlay->last_flip_req = 0;
+               ret = i915_do_wait_request(dev, overlay->last_flip_req, 1);
+               if (ret == 0) {
+                       overlay->last_flip_req = 0;
 
-               tmp = I915_READ(ISR);
+                       tmp = I915_READ(ISR);
 
-               if (!(tmp & I915_OVERLAY_PLANE_FLIP_PENDING_INTERRUPT))
-                       return 0;
+                       if (!(tmp & I915_OVERLAY_PLANE_FLIP_PENDING_INTERRUPT))
+                               return 0;
+               }
        }
 
        /* synchronous slowpath */
@@ -439,8 +438,6 @@ int intel_overlay_recover_from_interrupt(struct intel_overlay *overlay,
                                return ret;
 
                case SWITCH_OFF_STAGE_2:
-                       printk("switch off 2\n");
-
                        BUG_ON(!overlay->vid_bo);
                        obj = overlay->vid_bo->obj;