drm/i915: Remove intel_psr_is_enabled function.
authorRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 20 Nov 2014 10:22:08 +0000 (02:22 -0800)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 3 Dec 2014 08:35:07 +0000 (09:35 +0100)
This function was in use to check if PSR feature got enabled.
However on HSW and BDW we currently force psr exit by disabling
EDP_PSR_ENABLE bit at EDP_PSR_CTL(dev). So this function was actually
returning the active/inactive state that is different from the enable/disable
meaning and had the risk of false negative.

But anyway this check with DRRS was dangerous, since DRRS could try to get enabled
before PSR gets there. So let's just remove it for now.
A proper synchronization mechanism must be implemented later probably
using pipe config.

Cc: Daniel Vetter <daniel@ffwll.ch>
Reviewed-by: Durgadoss R <durgadoss.r@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_dp.c
drivers/gpu/drm/i915/intel_drv.h
drivers/gpu/drm/i915/intel_psr.c

index 5cecc20efa71df1fc8171de1660fcd4d28b99e8b..fa509db3e1f9283fd6249c0e299cd388ba6b6ed9 100644 (file)
@@ -4763,14 +4763,9 @@ void intel_dp_set_drrs_state(struct drm_device *dev, int refresh_rate)
        }
 
        /*
-        * FIXME: This needs proper synchronization with psr state. But really
-        * hard to tell without seeing the user of this function of this code.
-        * Check locking and ordering once that lands.
+        * FIXME: This needs proper synchronization with psr state for some
+        * platforms that cannot have PSR and DRRS enabled at the same time.
         */
-       if (INTEL_INFO(dev)->gen < 8 && intel_psr_is_enabled(dev)) {
-               DRM_DEBUG_KMS("DRRS is disabled as PSR is enabled\n");
-               return;
-       }
 
        encoder = intel_attached_encoder(&intel_connector->base);
        intel_dp = enc_to_intel_dp(&encoder->base);
index 25fdbb16d4e0defa47f660d2f2a940582b83608f..5e81f097132c1e8fa9c035b7a2b00c176aae49ac 100644 (file)
@@ -1115,7 +1115,6 @@ void intel_backlight_unregister(struct drm_device *dev);
 
 
 /* intel_psr.c */
-bool intel_psr_is_enabled(struct drm_device *dev);
 void intel_psr_enable(struct intel_dp *intel_dp);
 void intel_psr_disable(struct intel_dp *intel_dp);
 void intel_psr_invalidate(struct drm_device *dev,
index 843762a841a3d677dc4211062bbed6dfba75847e..576ad02222218043f42bbf234145e9fb5b91d5a1 100644 (file)
@@ -61,16 +61,6 @@ static bool is_edp_psr(struct intel_dp *intel_dp)
        return intel_dp->psr_dpcd[0] & DP_PSR_IS_SUPPORTED;
 }
 
-bool intel_psr_is_enabled(struct drm_device *dev)
-{
-       struct drm_i915_private *dev_priv = dev->dev_private;
-
-       if (!HAS_PSR(dev))
-               return false;
-
-       return I915_READ(EDP_PSR_CTL(dev)) & EDP_PSR_ENABLE;
-}
-
 static void intel_psr_write_vsc(struct intel_dp *intel_dp,
                                    struct edp_vsc_psr *vsc_psr)
 {