aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2014-08-08 14:27:01 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2014-08-14 16:49:47 -0400
commit4ed91096881449012b14b1e879f40b4a37533e0e (patch)
treef5d8f6c14fec7ea058954779a1946f6a3b0aa79e
parentf1ad5a1fd4127b3a5e21b8f5ef7f1921a5d3063e (diff)
drm/i915: Track cursor changes as frontbuffer tracking flushes
We treat other plane updates in the same fashion. Spotted because Rodrigo kept reporting a bug in the PSR code where the frontbuffer was eternally stuck with a dirty cursor bit set. The psr testcase should have caught this, but that i-g-t is kaputt. Rodrigo is signed up to fix that. Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Tested-by-and-Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r--drivers/gpu/drm/i915/intel_display.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index fd15601f6360..b2e4eac7b70b 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -11782,6 +11782,10 @@ intel_cursor_plane_update(struct drm_plane *plane, struct drm_crtc *crtc,
11782 return intel_crtc_cursor_set_obj(crtc, obj, crtc_w, crtc_h); 11782 return intel_crtc_cursor_set_obj(crtc, obj, crtc_w, crtc_h);
11783 } else { 11783 } else {
11784 intel_crtc_update_cursor(crtc, visible); 11784 intel_crtc_update_cursor(crtc, visible);
11785
11786 intel_frontbuffer_flip(crtc->dev,
11787 INTEL_FRONTBUFFER_CURSOR(intel_crtc->pipe));
11788
11785 return 0; 11789 return 0;
11786 } 11790 }
11787} 11791}