@@ -1883,6 +1883,7 @@ static void intel_edp_psr_do_enable(struct intel_dp *intel_dp)
void intel_edp_psr_enable(struct intel_dp *intel_dp)
{
struct drm_device *dev = intel_dp_to_dev(intel_dp);
+ struct drm_i915_private *dev_priv = dev->dev_private;
if (!HAS_PSR(dev)) {
DRM_DEBUG_KMS("PSR not supported on this platform\n");
@@ -1894,6 +1895,11 @@ void intel_edp_psr_enable(struct intel_dp *intel_dp)
return;
}
+ if (dev_priv->psr.enabled) {
+ DRM_DEBUG_KMS("PSR already in use\n");
+ return;
+ }
+
/* Setup PSR once */
intel_edp_psr_setup(intel_dp);