>-----Original Message----- >From: Vivi, Rodrigo >Sent: Wednesday, November 19, 2014 9:05 PM >To: intel-gfx@lists.freedesktop.org >Cc: Vivi, Rodrigo; Daniel Vetter; R, Durgadoss >Subject: [PATCH] drm/i915: Remove intel_psr_is_enabled function. > >This function was in use to check if psr feature got enabled. >However on HSW and BDW we currently force psr exit by disabling
s/psr/PSR >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 propper syncronization mechanism must be implemented later probably >using pipe config. Proper synchronization.. With that, Reviewed-by: Durgadoss R <durgados...@intel.com> Thanks, Durga > >Cc: Daniel Vetter <dan...@ffwll.ch> >Cc: Durgadoss R <durgados...@intel.com> >Signed-off-by: Rodrigo Vivi <rodrigo.v...@intel.com> >--- > drivers/gpu/drm/i915/intel_dp.c | 9 ++------- > drivers/gpu/drm/i915/intel_drv.h | 1 - > drivers/gpu/drm/i915/intel_psr.c | 10 ---------- > 3 files changed, 2 insertions(+), 18 deletions(-) > >diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c >index 46731da..5be6f5e 100644 >--- a/drivers/gpu/drm/i915/intel_dp.c >+++ b/drivers/gpu/drm/i915/intel_dp.c >@@ -4761,14 +4761,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); >diff --git a/drivers/gpu/drm/i915/intel_drv.h >b/drivers/gpu/drm/i915/intel_drv.h >index d1f9b63..7feded0 100644 >--- a/drivers/gpu/drm/i915/intel_drv.h >+++ b/drivers/gpu/drm/i915/intel_drv.h >@@ -1113,7 +1113,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, >diff --git a/drivers/gpu/drm/i915/intel_psr.c >b/drivers/gpu/drm/i915/intel_psr.c >index 843762a..576ad02 100644 >--- a/drivers/gpu/drm/i915/intel_psr.c >+++ b/drivers/gpu/drm/i915/intel_psr.c >@@ -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) > { >-- >1.9.3 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx