]> git.karo-electronics.de Git - karo-tx-linux.git/commit
drm/i915: Really wait for pending flips when panning
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 18 Feb 2013 17:08:48 +0000 (19:08 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 19 Feb 2013 10:31:06 +0000 (11:31 +0100)
commit92ea191467860a5f5dea182f0a9ab6f0e8f0680c
tree39fc1f50edfc486916e154096142a0666d8f0290
parente18137569d2542d588eafb94e6c15529b5908ad9
drm/i915: Really wait for pending flips when panning

Since obj->pending_flips was never set, intel_pipe_set_base() never
actually waited for pending page flips to complete.

We really do want to wait for the pending flips, because otherwise the
mmio surface base address update could overtake the flip, and you
could end up with an old frame on the screen once the flip really
completes.

Just call intel_crtc_wait_pending_flips() prior to calling
intel_pipe_set_base() instead of calling just intel_finish_fb()
from intel_pipe_set_base(). Moving the call outside of
intel_pipe_set_base() avoids calling it twice from the full
modeset path.

v2: Wait for pending flips w/o holding struct_mutex

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_display.c