drm/i915/psr: Check panel Early Transport capability for eDP PR
authorJouni Högander <jouni.hogander@intel.com>
Wed, 19 Jun 2024 06:21:24 +0000 (09:21 +0300)
committerJouni Högander <jouni.hogander@intel.com>
Tue, 25 Jun 2024 05:25:36 +0000 (08:25 +0300)
Our HW doesn't support panel replay without Early Transport on eDP.

Bspec: 68920

Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
Reviewed-by: Animesh Manna <animesh.manna@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240619062131.4021196-5-jouni.hogander@intel.com
drivers/gpu/drm/i915/display/intel_psr.c

index 253888c7ea1d397f5075669396759d40699dd3ba..8e367a4f4da3762024dfee251f06154280dfc393 100644 (file)
@@ -571,11 +571,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;