drm/i915: Use intel_wm_plane_visible() on VLV/CHV as well
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 3 Mar 2017 15:19:27 +0000 (17:19 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 5 Apr 2017 10:22:37 +0000 (13:22 +0300)
VLV/CHV don't have double buffered watermarks so they need to consider
the cursor visibility as a special case just like ILK-BDW. Let's use
the helper we have for that.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170303151928.23053-4-ville.syrjala@linux.intel.com
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
drivers/gpu/drm/i915/intel_pm.c

index 2807054e49a5d6d2fec58f57bd7b08aba395093c..55e1e88cd3613e8bb2d48aa7ec01db16afc5112e 100644 (file)
@@ -1029,7 +1029,7 @@ static uint16_t vlv_compute_wm_level(const struct intel_crtc_state *crtc_state,
        if (dev_priv->wm.pri_latency[level] == 0)
                return USHRT_MAX;
 
-       if (!plane_state->base.visible)
+       if (!intel_wm_plane_visible(crtc_state, plane_state))
                return 0;
 
        cpp = plane_state->base.fb->format->cpp[0];
@@ -1203,7 +1203,7 @@ static bool vlv_plane_wm_compute(struct intel_crtc_state *crtc_state,
        int level;
        bool dirty = false;
 
-       if (!plane_state->base.visible) {
+       if (!intel_wm_plane_visible(crtc_state, plane_state)) {
                dirty |= vlv_raw_plane_wm_set(crtc_state, 0, plane_id, 0);
                goto out;
        }