drm/i915: fix vblank wait test condition
When converting this to the new wait_for macro I inverted the wait condition, which causes all sorts of problems. So correct it to fix several failures caused by the bad wait (flickering, bad output detection, tearing, etc.). Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Tested-by: Sitsofe Wheeler <sitsofe@yahoo.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
f4e385ccfc
commit
9559fcdbff
|
@ -992,7 +992,7 @@ void intel_wait_for_vblank(struct drm_device *dev, int pipe)
|
||||||
|
|
||||||
/* Wait for vblank interrupt bit to set */
|
/* Wait for vblank interrupt bit to set */
|
||||||
if (wait_for((I915_READ(pipestat_reg) &
|
if (wait_for((I915_READ(pipestat_reg) &
|
||||||
PIPE_VBLANK_INTERRUPT_STATUS) == 0,
|
PIPE_VBLANK_INTERRUPT_STATUS),
|
||||||
50, 0))
|
50, 0))
|
||||||
DRM_DEBUG_KMS("vblank wait timed out\n");
|
DRM_DEBUG_KMS("vblank wait timed out\n");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue