FAILED: patch "[PATCH] drm/i915/dp_mst: Disable Panel Replay" failed to apply to 6.17-stable tree
[email protected]
maintainerThe patch below does not apply to the 6.17-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.17.y
git checkout FETCH_HEAD
git cherry-pick -x f2687d3cc9f905505d7b510c50970176115066a2
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2025112017-voter-absentee-5ffd@gregkh' --subject-prefix 'PATCH 6.17.y' HEAD^..
Possible dependencies:
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From f2687d3cc9f905505d7b510c50970176115066a2 Mon Sep 17 00:00:00 2001
From: Imre Deak <[email protected]>
Date: Fri, 7 Nov 2025 14:41:41 +0200
Subject: [PATCH] drm/i915/dp_mst: Disable Panel Replay
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Disable Panel Replay on MST links until it's properly implemented. For instance the required VSC SDP is not programmed on MST and FEC is not enabled if Panel Replay is enabled.
drivers/gpu/drm/i915/display/intel_psr.c +4 -0
@@ -585,6 +585,10 @@ static void _panel_replay_init_dpcd(struct intel_dp *intel_dp)struct intel_display *display =to_intel_display (intel_dp);int ret; +/* TODO: Enable Panel Replay on MST once it's properly implemented. */ +if (intel_dp->mst_detect ==DRM_DP_MST ) +return ; + ret =drm_dp_dpcd_read_data (&intel_dp->aux,DP_PANEL_REPLAY_CAP_SUPPORT , &intel_dp->pr_dpcd,sizeof (intel_dp->pr_dpcd));if (ret <0 )
Sasha Levin
maintainerPATCH 1/2 drm/i915/psr: Check drm_dp_dpcd_read return value on PSR dpcd init
From: Jouni Högander <[email protected]>
[ Upstream commit 9cc10041e9fe7f32c4817e3cdd806ff1986d266c ]
Currently we are ignoriong drm_dp_dpcd_read return values when reading PSR and Panel Replay capability DPCD register. Rework intel_psr_dpcd a bit to take care of checking the return value.
v2: use drm_dp_dpcd_read_data
Stable-dep-of: f2687d3cc9f9 ("drm/i915/dp_mst: Disable Panel Replay")
--- drivers/gpu/drm/i915/display/intel_psr.c | 32 ++++++++++++++++-------- 1 file changed, 21 insertions(+), 11 deletions(-)
drivers/gpu/drm/i915/display/intel_psr.c +21 -11
@@ -600,6 +600,16 @@ static void intel_dp_get_su_granularity(struct intel_dp *intel_dp)static void _panel_replay_init_dpcd (struct intel_dp *intel_dp) {struct intel_display *display =to_intel_display (intel_dp); +int ret; + + ret =drm_dp_dpcd_read_data (&intel_dp->aux,DP_PANEL_REPLAY_CAP_SUPPORT , + &intel_dp->pr_dpcd,sizeof (intel_dp->pr_dpcd)); +if (ret <0 ) +return ; + +if (!(intel_dp->pr_dpcd[INTEL_PR_DPCD_INDEX (DP_PANEL_REPLAY_CAP_SUPPORT )] & +DP_PANEL_REPLAY_SUPPORT )) +return ;if (intel_dp_is_edp (intel_dp)) {if (!intel_alpm_aux_less_wake_supported (intel_dp)) {
@@ -631,6 +641,15 @@ static void _panel_replay_init_dpcd(struct intel_dp *intel_dp)static void _psr_init_dpcd (struct intel_dp *intel_dp) {struct intel_display *display =to_intel_display (intel_dp); +int ret; + + ret =drm_dp_dpcd_read_data (&intel_dp->aux,DP_PSR_SUPPORT , intel_dp->psr_dpcd, +sizeof (intel_dp->psr_dpcd)); +if (ret <0 ) +return ; + +if (!intel_dp->psr_dpcd[0 ]) +return ;drm_dbg_kms (display->drm,"eDP panel supports PSR version %x\n" , intel_dp->psr_dpcd[0 ]);
@@ -676,18 +695,9 @@ static void _psr_init_dpcd(struct intel_dp *intel_dp)void intel_psr_init_dpcd (struct intel_dp *intel_dp) { -drm_dp_dpcd_read (&intel_dp->aux,DP_PSR_SUPPORT , intel_dp->psr_dpcd, -sizeof (intel_dp->psr_dpcd)); - -drm_dp_dpcd_read (&intel_dp->aux,DP_PANEL_REPLAY_CAP_SUPPORT , - &intel_dp->pr_dpcd,sizeof (intel_dp->pr_dpcd)); - -if (intel_dp->pr_dpcd[INTEL_PR_DPCD_INDEX (DP_PANEL_REPLAY_CAP_SUPPORT )] & -DP_PANEL_REPLAY_SUPPORT ) -_panel_replay_init_dpcd (intel_dp); +_psr_init_dpcd (intel_dp); -if (intel_dp->psr_dpcd[0 ]) -_psr_init_dpcd (intel_dp); +_panel_replay_init_dpcd (intel_dp);if (intel_dp->psr.sink_psr2_support || intel_dp->psr.sink_panel_replay_su_support)
Signature · 1 line
2.51.0
Sasha Levin
maintainerPATCH 2/2 drm/i915/dp_mst: Disable Panel Replay
From: Imre Deak <[email protected]>
[ Upstream commit f2687d3cc9f905505d7b510c50970176115066a2 ]
Disable Panel Replay on MST links until it's properly implemented. For instance the required VSC SDP is not programmed on MST and FEC is not enabled if Panel Replay is enabled.
--- drivers/gpu/drm/i915/display/intel_psr.c | 4 ++++ 1 file changed, 4 insertions(+)
drivers/gpu/drm/i915/display/intel_psr.c +4 -0
@@ -602,6 +602,10 @@ static void _panel_replay_init_dpcd(struct intel_dp *intel_dp)struct intel_display *display =to_intel_display (intel_dp);int ret; +/* TODO: Enable Panel Replay on MST once it's properly implemented. */ +if (intel_dp->mst_detect ==DRM_DP_MST ) +return ; + ret =drm_dp_dpcd_read_data (&intel_dp->aux,DP_PANEL_REPLAY_CAP_SUPPORT , &intel_dp->pr_dpcd,sizeof (intel_dp->pr_dpcd));if (ret <0 )
Signature · 1 line
2.51.0