drm/i915: Enable IPS with only sprite plane visible too, v4.
authorMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Wed, 22 Nov 2017 18:39:06 +0000 (19:39 +0100)
committerMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Thu, 30 Nov 2017 15:50:09 +0000 (16:50 +0100)
This comment predates atomic, and I think with the way we currently
track IPS, it's safe to enable this for the case we switch too.

Changes since v1:
- Keep IPS enabled when switching planes.
Changes since v2:
- Enable IPS when at least one plane is enabled. (Ville)
Changes since v3:
- Actually do what was advertised in v3, sigh! (Ville, CI)

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171122183906.47767-1-maarten.lankhorst@linux.intel.com
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
drivers/gpu/drm/i915/intel_display.c

index 68f101c0e9091c6ba67a298938e94fe90ab3d7d0..601c23be826418e210b957e1c49c22531fcec6aa 100644 (file)
@@ -6246,13 +6246,8 @@ static bool hsw_compute_ips_config(struct intel_crtc_state *crtc_state)
        if (crtc_state->ips_force_disable)
                return false;
 
-       /*
-        * FIXME IPS should be fine as long as one plane is
-        * enabled, but in practice it seems to have problems
-        * when going from primary only to sprite only and vice
-        * versa.
-        */
-       if (!(crtc_state->active_planes & BIT(PLANE_PRIMARY)))
+       /* IPS should be fine as long as at least one plane is enabled. */
+       if (!(crtc_state->active_planes & ~BIT(PLANE_CURSOR)))
                return false;
 
        /* pixel rate mustn't exceed 95% of cdclk with IPS on BDW */