diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_sprite.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_sprite.c | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c index 03c2d4c11518..cd531fa997de 100644 --- a/drivers/gpu/drm/i915/intel_sprite.c +++ b/drivers/gpu/drm/i915/intel_sprite.c | |||
@@ -750,13 +750,6 @@ ivb_disable_plane(struct drm_plane *plane, struct drm_crtc *crtc) | |||
750 | I915_WRITE(SPRSURF(pipe), 0); | 750 | I915_WRITE(SPRSURF(pipe), 0); |
751 | 751 | ||
752 | intel_flush_primary_plane(dev_priv, intel_crtc->plane); | 752 | intel_flush_primary_plane(dev_priv, intel_crtc->plane); |
753 | |||
754 | /* | ||
755 | * Avoid underruns when disabling the sprite. | ||
756 | * FIXME remove once watermark updates are done properly. | ||
757 | */ | ||
758 | intel_crtc->atomic.wait_vblank = true; | ||
759 | intel_crtc->atomic.update_sprite_watermarks |= (1 << drm_plane_index(plane)); | ||
760 | } | 753 | } |
761 | 754 | ||
762 | static int | 755 | static int |
@@ -941,13 +934,6 @@ ilk_disable_plane(struct drm_plane *plane, struct drm_crtc *crtc) | |||
941 | I915_WRITE(DVSSURF(pipe), 0); | 934 | I915_WRITE(DVSSURF(pipe), 0); |
942 | 935 | ||
943 | intel_flush_primary_plane(dev_priv, intel_crtc->plane); | 936 | intel_flush_primary_plane(dev_priv, intel_crtc->plane); |
944 | |||
945 | /* | ||
946 | * Avoid underruns when disabling the sprite. | ||
947 | * FIXME remove once watermark updates are done properly. | ||
948 | */ | ||
949 | intel_crtc->atomic.wait_vblank = true; | ||
950 | intel_crtc->atomic.update_sprite_watermarks |= (1 << drm_plane_index(plane)); | ||
951 | } | 937 | } |
952 | 938 | ||
953 | /** | 939 | /** |
@@ -1266,6 +1252,16 @@ finish: | |||
1266 | plane->state->fb->modifier[0] != | 1252 | plane->state->fb->modifier[0] != |
1267 | state->base.fb->modifier[0]) | 1253 | state->base.fb->modifier[0]) |
1268 | intel_crtc->atomic.update_wm = true; | 1254 | intel_crtc->atomic.update_wm = true; |
1255 | |||
1256 | if (!state->visible) { | ||
1257 | /* | ||
1258 | * Avoid underruns when disabling the sprite. | ||
1259 | * FIXME remove once watermark updates are done properly. | ||
1260 | */ | ||
1261 | intel_crtc->atomic.wait_vblank = true; | ||
1262 | intel_crtc->atomic.update_sprite_watermarks |= | ||
1263 | (1 << drm_plane_index(plane)); | ||
1264 | } | ||
1269 | } | 1265 | } |
1270 | 1266 | ||
1271 | return 0; | 1267 | return 0; |