]> git.karo-electronics.de Git - karo-tx-linux.git/commit
drm/i915: Finish page flips and update primary planes after a GPU reset
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 18 Feb 2013 17:08:49 +0000 (19:08 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 19 Feb 2013 11:18:58 +0000 (12:18 +0100)
commit44064b5aa884428b01862804013cccdc5fe978af
tree0774fbb714ca42a5cb4d2c6f78d8c09015d6dc4a
parent92ea191467860a5f5dea182f0a9ab6f0e8f0680c
drm/i915: Finish page flips and update primary planes after a GPU reset

GPU reset will drop all flips that are still in the ring. So after the
reset, call update_plane() for all CRTCs to make sure the primary
planes are scanning out from the correct buffer.

Also finish all pending flips. That means user space will get its
page flip events and won't get stuck waiting for them.

v2: Explicitly finish page flips instead of relying on FLIP_DONE
    interrupt being generated by the base address update.
v3: Make two loops over crtcs to avoid deadlocks with the crtc mutex

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
[danvet: Fixup long line complaint from checkpatch.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_irq.c
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/i915/intel_drv.h