* [PATCH] drm/i915: fix vblank wait test condition
@ 2010-08-24 18:31 Jesse Barnes
2010-08-25 8:13 ` Sitsofe Wheeler
0 siblings, 1 reply; 2+ messages in thread
From: Jesse Barnes @ 2010-08-24 18:31 UTC (permalink / raw)
To: intel-gfx, linux-kernel, torvalds
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>
---
drivers/gpu/drm/i915/intel_display.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 6ccb797..dd90b80 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -992,7 +992,7 @@ void intel_wait_for_vblank(struct drm_device *dev, int pipe)
/* Wait for vblank interrupt bit to set */
if (wait_for((I915_READ(pipestat_reg) &
- PIPE_VBLANK_INTERRUPT_STATUS) == 0,
+ PIPE_VBLANK_INTERRUPT_STATUS),
50, 0))
DRM_DEBUG_KMS("vblank wait timed out\n");
}
--
1.6.3.3
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH] drm/i915: fix vblank wait test condition
2010-08-24 18:31 [PATCH] drm/i915: fix vblank wait test condition Jesse Barnes
@ 2010-08-25 8:13 ` Sitsofe Wheeler
0 siblings, 0 replies; 2+ messages in thread
From: Sitsofe Wheeler @ 2010-08-25 8:13 UTC (permalink / raw)
To: Jesse Barnes; +Cc: intel-gfx, linux-kernel, torvalds
On Tue, Aug 24, 2010 at 11:31:16AM -0700, Jesse Barnes wrote:
> 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.).
Further testing has shown this fixed one set of cases where strange
behaviour happened on my EeePC but there are other triggers. I've found
the following:
With this patch booting without a battery in the machine will lead to a
stable system without lots of errors appearing in dmesg (just one
"Insufficient FIFO" at boot). Doing "watch --differences=cumulative
xrandr" always shows the same outputs. VT switching occasionally causes
the occasional "*ERROR* vblank wait timed out" message. However doing a
suspend/resume brings back all the problems, dmesg starts filling up
with FIFO errors and xrandr starts reporting different outputs every
time it is called. Additionally, booting with a battery inside the
machine at boot will always lead to the quirky behaviour too.
--
Sitsofe | http://sucs.org/~sits/
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2010-08-25 8:13 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-08-24 18:31 [PATCH] drm/i915: fix vblank wait test condition Jesse Barnes
2010-08-25 8:13 ` Sitsofe Wheeler
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox