Our HW doesn't support panel replay without Early Transport on eDP.

Bspec: 68920

Signed-off-by: Jouni Högander <[email protected]>
---
 drivers/gpu/drm/i915/display/intel_psr.c | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_psr.c 
b/drivers/gpu/drm/i915/display/intel_psr.c
index 081109bed0e6..1e503612bd25 100644
--- a/drivers/gpu/drm/i915/display/intel_psr.c
+++ b/drivers/gpu/drm/i915/display/intel_psr.c
@@ -551,11 +551,18 @@ static void _panel_replay_init_dpcd(struct intel_dp 
*intel_dp)
 {
        struct drm_i915_private *i915 = dp_to_i915(intel_dp);
 
-       if (intel_dp_is_edp(intel_dp) &&
-           (!intel_alpm_aux_less_wake_supported(intel_dp))) {
-               drm_dbg_kms(&i915->drm,
-                           "Panel doesn't support AUX-less ALPM, eDP Panel 
Replay not possible\n");
-               return;
+       if (intel_dp_is_edp(intel_dp)) {
+               if (!intel_alpm_aux_less_wake_supported(intel_dp)) {
+                       drm_dbg_kms(&i915->drm,
+                                   "Panel doesn't support AUX-less ALPM, eDP 
Panel Replay not possible\n");
+                       return;
+               }
+
+               if (!(intel_dp->pr_dpcd & 
DP_PANEL_REPLAY_EARLY_TRANSPORT_SUPPORT)) {
+                       drm_dbg_kms(&i915->drm,
+                                   "Panel doesn't support early transport, eDP 
Panel Replay not possible\n");
+                       return;
+               }
        }
 
        intel_dp->psr.sink_panel_replay_support = true;
-- 
2.34.1

Reply via email to