summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2015-08-12 13:08:22 +0100
committerDaniel Vetter <daniel.vetter@ffwll.ch>2015-08-14 18:16:34 +0200
commit908565c20888f790b96b03ae5be9cd175f3d8d72 (patch)
tree112f3ef8f76bf51ceac1b12cbdd073ca134c5a75
parented75a55bb36dec17b9e0f878cea7c8ccb037d8f9 (diff)
downloadlwn-908565c20888f790b96b03ae5be9cd175f3d8d72.tar.gz
lwn-908565c20888f790b96b03ae5be9cd175f3d8d72.zip
drm/i915: Do not check or a stalled pageflip prior to it being queued
When we queue the command or operation to change the scanout address, we mark the flip as in progress. We can use this flag to prevent us from checking for a stalled flip prior to its existence! Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r--drivers/gpu/drm/i915/intel_display.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 7f6d5fd7c2cf..dc3e6b2e5663 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -11236,6 +11236,9 @@ static bool __intel_pageflip_stall_check(struct drm_device *dev,
if (atomic_read(&work->pending) >= INTEL_FLIP_COMPLETE)
return true;
+ if (atomic_read(&work->pending) < INTEL_FLIP_PENDING)
+ return false;
+
if (!work->enable_stall_check)
return false;