|
@@ -685,11 +685,7 @@ void intel_psr_disable(struct intel_dp *intel_dp,
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- /* Disable PSR on Source */
|
|
|
- if (HAS_DDI(dev_priv))
|
|
|
- hsw_psr_disable(intel_dp, old_crtc_state);
|
|
|
- else
|
|
|
- vlv_psr_disable(intel_dp, old_crtc_state);
|
|
|
+ dev_priv->psr.disable_source(intel_dp, old_crtc_state);
|
|
|
|
|
|
/* Disable PSR on Sink */
|
|
|
drm_dp_dpcd_writeb(&intel_dp->aux, DP_PSR_EN_CFG, 0);
|
|
@@ -987,4 +983,10 @@ void intel_psr_init(struct drm_i915_private *dev_priv)
|
|
|
|
|
|
INIT_DELAYED_WORK(&dev_priv->psr.work, intel_psr_work);
|
|
|
mutex_init(&dev_priv->psr.lock);
|
|
|
+
|
|
|
+ if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv)) {
|
|
|
+ dev_priv->psr.disable_source = vlv_psr_disable;
|
|
|
+ } else {
|
|
|
+ dev_priv->psr.disable_source = hsw_psr_disable;
|
|
|
+ }
|
|
|
}
|