]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Avoid pageflipping freeze when we miss the flip prepare interrupt
authorSimon Farnsworth <simon.farnsworth@onelan.co.uk>
Wed, 1 Sep 2010 16:47:52 +0000 (17:47 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 7 Sep 2010 10:16:35 +0000 (11:16 +0100)
commitac8c9fcba3c1c99f19144d68d2128ad63efa5f84
treeea7b81407d31dc62fe495d5a5899c79ea692db33
parent941dbc3a1d7f9af5bf3e1dc91cc3265b671a9efe
drm/i915: Avoid pageflipping freeze when we miss the flip prepare interrupt

When we miss the flip prepare interrupt, we never get into the
software state needed to restart userspace, resulting in a freeze of a
full-screen OpenGL application (such as a compositor).

Work around this by checking DSPxSURF/DSPxBASE to see if the page flip
has actually happened. If it has, do the work we would have done when
the flip prepare interrupt comes in.

Also, add debugfs information to tell us what's going on (based on the
patch from Chris Wilson attached to bugs.fdo bug #29798).

Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
drivers/gpu/drm/i915/i915_debugfs.c
drivers/gpu/drm/i915/i915_irq.c
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/i915/intel_drv.h