Commit 69f83f16 authored by Jouni Högander's avatar Jouni Högander Committed by Joonas Lahtinen
Browse files

drm/i915/psr: Don't enable Panel Replay on sink if globally disabled



With some panels informing support for Panel Replay we are observing
problems if having Panel Replay enable bit set on sink when forced to use
PSR instead of Panel Replay. Avoid these problems by not setting Panel
Replay enable bit in sink when Panel Replay is globally disabled during
link training. I.e. disabled by module parameter.

The enable bit is still set when disabling Panel Replay via debugfs
interface. Added note comment about this.

Fixes: 68f3a505 ("drm/i915/psr: Enable Panel Replay on sink always when it's supported")
Cc: Mika Kahola <mika.kahola@intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: <stable@vger.kernel.org> # v6.15+
Signed-off-by: default avatarJouni Högander <jouni.hogander@intel.com>
Reviewed-by: default avatarMika Kahola <mika.kahola@intel.com>
Link: https://patch.msgid.link/20260115070039.368965-1-jouni.hogander@intel.com


(cherry picked from commit c5a52cd0)
Signed-off-by: default avatarJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
parent 95adee9a
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -842,7 +842,12 @@ static void intel_psr_enable_sink(struct intel_dp *intel_dp,

void intel_psr_panel_replay_enable_sink(struct intel_dp *intel_dp)
{
	if (CAN_PANEL_REPLAY(intel_dp))
	/*
	 * NOTE: We might want to trigger mode set when
	 * disabling/enabling Panel Replay via debugfs interface to
	 * ensure this bit is cleared/set accordingly.
	 */
	if (CAN_PANEL_REPLAY(intel_dp) && panel_replay_global_enabled(intel_dp))
		drm_dp_dpcd_writeb(&intel_dp->aux, PANEL_REPLAY_CONFIG,
				   DP_PANEL_REPLAY_ENABLE);
}