[Intel-gfx] [PATCH] drm/i915: overlay: kill one more unnecessary uninterruptible sleep
Daniel Vetter
daniel.vetter at ffwll.ch
Sun Oct 4 15:00:36 CEST 2009
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 at ffwll.ch>
---
drivers/gpu/drm/i915/intel_overlay.c | 17 +++++++----------
1 files changed, 7 insertions(+), 10 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_overlay.c b/drivers/gpu/drm/i915/intel_overlay.c
index 972d715..f1bf0b0 100644
--- a/drivers/gpu/drm/i915/intel_overlay.c
+++ b/drivers/gpu/drm/i915/intel_overlay.c
@@ -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;
--
1.6.4.3
More information about the Intel-gfx
mailing list