|
@@ -248,9 +248,13 @@ void intel_psr_init_dpcd(struct intel_dp *intel_dp)
|
|
|
|
|
|
if (!intel_dp->psr_dpcd[0])
|
|
|
return;
|
|
|
-
|
|
|
DRM_DEBUG_KMS("eDP panel supports PSR version %x\n",
|
|
|
intel_dp->psr_dpcd[0]);
|
|
|
+
|
|
|
+ if (!(intel_dp->edp_dpcd[1] & DP_EDP_SET_POWER_CAP)) {
|
|
|
+ DRM_DEBUG_KMS("Panel lacks power state control, PSR cannot be enabled\n");
|
|
|
+ return;
|
|
|
+ }
|
|
|
dev_priv->psr.sink_support = true;
|
|
|
|
|
|
if (INTEL_GEN(dev_priv) >= 9 &&
|
|
@@ -570,11 +574,6 @@ void intel_psr_compute_config(struct intel_dp *intel_dp,
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- if (!(intel_dp->edp_dpcd[1] & DP_EDP_SET_POWER_CAP)) {
|
|
|
- DRM_DEBUG_KMS("PSR condition failed: panel lacks power state control\n");
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
crtc_state->has_psr = true;
|
|
|
crtc_state->has_psr2 = intel_psr2_config_valid(intel_dp, crtc_state);
|
|
|
DRM_DEBUG_KMS("Enabling PSR%s\n", crtc_state->has_psr2 ? "2" : "");
|