DP Panel Replay spec mentions FEC needs to be enabled when using Panel Replay. Check support for FEC and disable Panel Replay if not supported.
Signed-off-by: Jouni Högander <[email protected]> --- drivers/gpu/drm/i915/display/intel_psr.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c index e138982dc91f6..ad2f6c79f5808 100644 --- a/drivers/gpu/drm/i915/display/intel_psr.c +++ b/drivers/gpu/drm/i915/display/intel_psr.c @@ -1851,8 +1851,15 @@ static bool _panel_replay_compute_config(struct intel_crtc_state *crtc_state, crtc_state->link_off_after_as_sdp_when_pr_active = compute_link_off_after_as_sdp_when_pr_active(connector); crtc_state->disable_as_sdp_when_pr_active = compute_disable_as_sdp_when_pr_active(connector); - if (!intel_dp_is_edp(intel_dp)) + if (!intel_dp_is_edp(intel_dp)) { + if (!intel_dp_supports_fec(intel_dp, connector, crtc_state)) { + drm_dbg_kms(display->drm, + "Panel Replay not enabled because FEC not supported\n"); + return false; + } + return true; + } /* Remaining checks are for eDP only */ -- 2.43.0
