aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_overlay.c
diff options
context:
space:
mode:
authorBen Widawsky <ben@bwidawsk.net>2012-04-26 19:02:58 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2012-05-03 05:18:20 -0400
commitb2da9fe5d5994a104bbae154590070d698279919 (patch)
tree06ebd3a0f0c0be5ba35265922ca4b67b7488dbf0 /drivers/gpu/drm/i915/intel_overlay.c
parent507432986c15f18c5102b18027e4716fc9e9009e (diff)
drm/i915: remove do_retire from i915_wait_request
This originates from a hack by me to quickly fix a bug in an earlier patch where we needed control over whether or not waiting on a seqno actually did any retire list processing. Since the two operations aren't clearly related, we should pull the parameter out of the wait function, and make the caller responsible for retiring if the action is desired. The only function call site which did not get an explicit retire_request call (on purpose) is i915_gem_inactive_shrink(). That code was already calling retire_request a second time. v2: don't modify any behavior excepit i915_gem_inactive_shrink(Daniel) Signed-off-by: Ben Widawsky <ben@bwidawsk.net> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_overlay.c')
-rw-r--r--drivers/gpu/drm/i915/intel_overlay.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/gpu/drm/i915/intel_overlay.c b/drivers/gpu/drm/i915/intel_overlay.c
index a0b5053c5a32..e06e46a30757 100644
--- a/drivers/gpu/drm/i915/intel_overlay.c
+++ b/drivers/gpu/drm/i915/intel_overlay.c
@@ -225,10 +225,10 @@ static int intel_overlay_do_wait_request(struct intel_overlay *overlay,
225 } 225 }
226 overlay->last_flip_req = request->seqno; 226 overlay->last_flip_req = request->seqno;
227 overlay->flip_tail = tail; 227 overlay->flip_tail = tail;
228 ret = i915_wait_request(LP_RING(dev_priv), overlay->last_flip_req, 228 ret = i915_wait_request(LP_RING(dev_priv), overlay->last_flip_req);
229 true);
230 if (ret) 229 if (ret)
231 return ret; 230 return ret;
231 i915_gem_retire_requests(dev);
232 232
233 overlay->last_flip_req = 0; 233 overlay->last_flip_req = 0;
234 return 0; 234 return 0;
@@ -447,10 +447,10 @@ static int intel_overlay_recover_from_interrupt(struct intel_overlay *overlay)
447 if (overlay->last_flip_req == 0) 447 if (overlay->last_flip_req == 0)
448 return 0; 448 return 0;
449 449
450 ret = i915_wait_request(LP_RING(dev_priv), overlay->last_flip_req, 450 ret = i915_wait_request(LP_RING(dev_priv), overlay->last_flip_req);
451 true);
452 if (ret) 451 if (ret)
453 return ret; 452 return ret;
453 i915_gem_retire_requests(dev);
454 454
455 if (overlay->flip_tail) 455 if (overlay->flip_tail)
456 overlay->flip_tail(overlay); 456 overlay->flip_tail(overlay);