Commit 8e09bf83 authored by Chris Wilson's avatar Chris Wilson Committed by Daniel Vetter

drm/i915: Use mmio flips to change tiling mode on Baytrail

For whatever reason, MI_DISPLAY_FLIP fails to change tiling mode on
Baytrail, so just use CPU driven mmio flips instead.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76176Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent 2a92d5bc
...@@ -9435,6 +9435,9 @@ static bool use_mmio_flip(struct intel_engine_cs *ring, ...@@ -9435,6 +9435,9 @@ static bool use_mmio_flip(struct intel_engine_cs *ring,
* So using MMIO flips there would disrupt this mechanism. * So using MMIO flips there would disrupt this mechanism.
*/ */
if (ring == NULL)
return true;
if (INTEL_INFO(ring->dev)->gen < 5) if (INTEL_INFO(ring->dev)->gen < 5)
return false; return false;
...@@ -9658,6 +9661,9 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc, ...@@ -9658,6 +9661,9 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
if (IS_VALLEYVIEW(dev)) { if (IS_VALLEYVIEW(dev)) {
ring = &dev_priv->ring[BCS]; ring = &dev_priv->ring[BCS];
if (obj->tiling_mode != work->old_fb_obj->tiling_mode)
/* vlv: DISPLAY_FLIP fails to change tiling */
ring = NULL;
} else if (IS_IVYBRIDGE(dev)) { } else if (IS_IVYBRIDGE(dev)) {
ring = &dev_priv->ring[BCS]; ring = &dev_priv->ring[BCS];
} else if (INTEL_INFO(dev)->gen >= 7) { } else if (INTEL_INFO(dev)->gen >= 7) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment