+++ /dev/null
-From 4703049f768fc1c1caac754134118bee1a3af189 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Jouni=20H=C3=B6gander?= <jouni.hogander@intel.com>
-Date: Fri, 15 May 2026 12:57:55 +0300
-Subject: drm/i915/psr: Apply Intel DPCD workaround when SDP on prior line used
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-From: Jouni Högander <jouni.hogander@intel.com>
-
-commit 4703049f768fc1c1caac754134118bee1a3af189 upstream.
-
-There is Intel specific workaround DPCD address containing workaround for
-case where SDP is on prior line. Apply this workaround according to values
-in the offset.
-
-Fixes: 61e887329e33 ("drm/i915/xelpd: Handle PSR2 SDP indication in the prior scanline")
-Cc: <stable@vger.kernel.org> # v5.15+
-Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
-Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
-Link: https://patch.msgid.link/20260515095756.2799483-4-jouni.hogander@intel.com
-(cherry picked from commit c3fe899fbeac86ea4a5ca9dd845b2cbc0da46249)
-Signed-off-by: Tvrtko Ursulin <tursulin@ursulin.net>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/gpu/drm/i915/display/intel_psr.c | 35 +++++++++++++++++++++++++++----
- 1 file changed, 31 insertions(+), 4 deletions(-)
-
---- a/drivers/gpu/drm/i915/display/intel_psr.c
-+++ b/drivers/gpu/drm/i915/display/intel_psr.c
-@@ -1296,9 +1296,35 @@ static bool psr2_granularity_check(struc
- return true;
- }
-
--static bool _compute_psr2_sdp_prior_scanline_indication(struct intel_dp *intel_dp,
-- struct intel_crtc_state *crtc_state)
-+static bool apply_scanline_indication_wa(struct intel_crtc_state *crtc_state,
-+ struct intel_connector *connector)
- {
-+ struct intel_dp *intel_dp = intel_attached_dp(connector);
-+ u8 early_scanline_support = connector->dp.psr_caps.intel_wa_dpcd &
-+ INTEL_DPCD_INTEL_WA_REGISTER_CAPS_PSR2_EARLYSCANLINE_SDP_SUPPORT_MASK;
-+
-+ if (intel_dp->edp_dpcd[0] >= DP_EDP_15)
-+ return true;
-+
-+ switch (early_scanline_support) {
-+ case INTEL_DPCD_INTEL_WA_REGISTER_CAPS_FALL_BACK_TO_PSR1:
-+ crtc_state->req_psr2_sdp_prior_scanline = false;
-+ return false;
-+ case INTEL_DPCD_INTEL_WA_REGISTER_CAPS_PSR2_WITH_EARLY_SCANLINE:
-+ return true;
-+ case INTEL_DPCD_INTEL_WA_REGISTER_CAPS_PSR2_WITHOUT_EARLY_SCANLINE:
-+ crtc_state->req_psr2_sdp_prior_scanline = false;
-+ return true;
-+ default:
-+ MISSING_CASE(early_scanline_support);
-+ return false;
-+ }
-+}
-+
-+static bool _compute_psr2_sdp_prior_scanline_indication(struct intel_crtc_state *crtc_state,
-+ struct intel_connector *connector)
-+{
-+ struct intel_dp *intel_dp = intel_attached_dp(connector);
- struct intel_display *display = to_intel_display(intel_dp);
- const struct drm_display_mode *adjusted_mode = &crtc_state->uapi.adjusted_mode;
- u32 hblank_total, hblank_ns, req_ns;
-@@ -1317,7 +1343,8 @@ static bool _compute_psr2_sdp_prior_scan
- return false;
-
- crtc_state->req_psr2_sdp_prior_scanline = true;
-- return true;
-+
-+ return apply_scanline_indication_wa(crtc_state, connector);
- }
-
- static int intel_psr_entry_setup_frames(struct intel_dp *intel_dp,
-@@ -1519,7 +1546,7 @@ static bool intel_sel_update_config_vali
- if (!crtc_state->has_panel_replay && !intel_psr2_config_valid(intel_dp, crtc_state))
- goto unsupported;
-
-- if (!_compute_psr2_sdp_prior_scanline_indication(intel_dp, crtc_state)) {
-+ if (!_compute_psr2_sdp_prior_scanline_indication(crtc_state, connector)) {
- drm_dbg_kms(display->drm,
- "Selective update not enabled, SDP indication do not fit in hblank\n");
- goto unsupported;
rdma-siw-reject-mpa-fpdu-length-underflow-before-signed-receive-math.patch
loongarch-remove-unused-code-to-avoid-build-warning.patch
device-property-set-fwnode-secondary-to-null-in-fwnode_init.patch
-drm-i915-psr-apply-intel-dpcd-workaround-when-sdp-on-prior-line-used.patch
drm-virtio-use-uninterruptible-resv-lock-for-plane-updates.patch
drm-amdgpu-vpe-force-collaborate-sync-after-trap.patch
drm-bridge-it66121-acquire-reset-gpio-in-probe.patch
+++ /dev/null
-From 4703049f768fc1c1caac754134118bee1a3af189 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Jouni=20H=C3=B6gander?= <jouni.hogander@intel.com>
-Date: Fri, 15 May 2026 12:57:55 +0300
-Subject: drm/i915/psr: Apply Intel DPCD workaround when SDP on prior line used
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-From: Jouni Högander <jouni.hogander@intel.com>
-
-commit 4703049f768fc1c1caac754134118bee1a3af189 upstream.
-
-There is Intel specific workaround DPCD address containing workaround for
-case where SDP is on prior line. Apply this workaround according to values
-in the offset.
-
-Fixes: 61e887329e33 ("drm/i915/xelpd: Handle PSR2 SDP indication in the prior scanline")
-Cc: <stable@vger.kernel.org> # v5.15+
-Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
-Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
-Link: https://patch.msgid.link/20260515095756.2799483-4-jouni.hogander@intel.com
-(cherry picked from commit c3fe899fbeac86ea4a5ca9dd845b2cbc0da46249)
-Signed-off-by: Tvrtko Ursulin <tursulin@ursulin.net>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/gpu/drm/i915/display/intel_psr.c | 35 +++++++++++++++++++++++++++----
- 1 file changed, 31 insertions(+), 4 deletions(-)
-
---- a/drivers/gpu/drm/i915/display/intel_psr.c
-+++ b/drivers/gpu/drm/i915/display/intel_psr.c
-@@ -1308,9 +1308,35 @@ static bool psr2_granularity_check(struc
- return true;
- }
-
--static bool _compute_psr2_sdp_prior_scanline_indication(struct intel_dp *intel_dp,
-- struct intel_crtc_state *crtc_state)
-+static bool apply_scanline_indication_wa(struct intel_crtc_state *crtc_state,
-+ struct intel_connector *connector)
- {
-+ struct intel_dp *intel_dp = intel_attached_dp(connector);
-+ u8 early_scanline_support = connector->dp.psr_caps.intel_wa_dpcd &
-+ INTEL_DPCD_INTEL_WA_REGISTER_CAPS_PSR2_EARLYSCANLINE_SDP_SUPPORT_MASK;
-+
-+ if (intel_dp->edp_dpcd[0] >= DP_EDP_15)
-+ return true;
-+
-+ switch (early_scanline_support) {
-+ case INTEL_DPCD_INTEL_WA_REGISTER_CAPS_FALL_BACK_TO_PSR1:
-+ crtc_state->req_psr2_sdp_prior_scanline = false;
-+ return false;
-+ case INTEL_DPCD_INTEL_WA_REGISTER_CAPS_PSR2_WITH_EARLY_SCANLINE:
-+ return true;
-+ case INTEL_DPCD_INTEL_WA_REGISTER_CAPS_PSR2_WITHOUT_EARLY_SCANLINE:
-+ crtc_state->req_psr2_sdp_prior_scanline = false;
-+ return true;
-+ default:
-+ MISSING_CASE(early_scanline_support);
-+ return false;
-+ }
-+}
-+
-+static bool _compute_psr2_sdp_prior_scanline_indication(struct intel_crtc_state *crtc_state,
-+ struct intel_connector *connector)
-+{
-+ struct intel_dp *intel_dp = intel_attached_dp(connector);
- struct intel_display *display = to_intel_display(intel_dp);
- const struct drm_display_mode *adjusted_mode = &crtc_state->uapi.adjusted_mode;
- u32 hblank_total, hblank_ns, req_ns;
-@@ -1329,7 +1355,8 @@ static bool _compute_psr2_sdp_prior_scan
- return false;
-
- crtc_state->req_psr2_sdp_prior_scanline = true;
-- return true;
-+
-+ return apply_scanline_indication_wa(crtc_state, connector);
- }
-
- static int intel_psr_entry_setup_frames(struct intel_dp *intel_dp,
-@@ -1534,7 +1561,7 @@ static bool intel_sel_update_config_vali
- if (!crtc_state->has_panel_replay && !intel_psr2_config_valid(intel_dp, crtc_state))
- goto unsupported;
-
-- if (!_compute_psr2_sdp_prior_scanline_indication(intel_dp, crtc_state)) {
-+ if (!_compute_psr2_sdp_prior_scanline_indication(crtc_state, connector)) {
- drm_dbg_kms(display->drm,
- "Selective update not enabled, SDP indication do not fit in hblank\n");
- goto unsupported;
loongarch-kprobes-use-larch_insn_text_copy-to-patch-instructions.patch
loongarch-remove-unused-code-to-avoid-build-warning.patch
device-property-set-fwnode-secondary-to-null-in-fwnode_init.patch
-drm-i915-psr-apply-intel-dpcd-workaround-when-sdp-on-prior-line-used.patch
drm-msm-fix-shrinker-deadlock.patch
drm-v3d-fix-use-after-free-of-cpu-job-query-arrays-on-error-path.patch
drm-v3d-release-indirect-csd-gem-reference-on-cpu-job-free.patch
+++ /dev/null
-From 4703049f768fc1c1caac754134118bee1a3af189 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Jouni=20H=C3=B6gander?= <jouni.hogander@intel.com>
-Date: Fri, 15 May 2026 12:57:55 +0300
-Subject: drm/i915/psr: Apply Intel DPCD workaround when SDP on prior line used
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-From: Jouni Högander <jouni.hogander@intel.com>
-
-commit 4703049f768fc1c1caac754134118bee1a3af189 upstream.
-
-There is Intel specific workaround DPCD address containing workaround for
-case where SDP is on prior line. Apply this workaround according to values
-in the offset.
-
-Fixes: 61e887329e33 ("drm/i915/xelpd: Handle PSR2 SDP indication in the prior scanline")
-Cc: <stable@vger.kernel.org> # v5.15+
-Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
-Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
-Link: https://patch.msgid.link/20260515095756.2799483-4-jouni.hogander@intel.com
-(cherry picked from commit c3fe899fbeac86ea4a5ca9dd845b2cbc0da46249)
-Signed-off-by: Tvrtko Ursulin <tursulin@ursulin.net>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/gpu/drm/i915/display/intel_psr.c | 35 +++++++++++++++++++++++++++----
- 1 file changed, 31 insertions(+), 4 deletions(-)
-
---- a/drivers/gpu/drm/i915/display/intel_psr.c
-+++ b/drivers/gpu/drm/i915/display/intel_psr.c
-@@ -1350,9 +1350,35 @@ static bool psr2_granularity_check(struc
- return true;
- }
-
--static bool _compute_psr2_sdp_prior_scanline_indication(struct intel_dp *intel_dp,
-- struct intel_crtc_state *crtc_state)
-+static bool apply_scanline_indication_wa(struct intel_crtc_state *crtc_state,
-+ struct intel_connector *connector)
- {
-+ struct intel_dp *intel_dp = intel_attached_dp(connector);
-+ u8 early_scanline_support = connector->dp.psr_caps.intel_wa_dpcd &
-+ INTEL_DPCD_INTEL_WA_REGISTER_CAPS_PSR2_EARLYSCANLINE_SDP_SUPPORT_MASK;
-+
-+ if (intel_dp->edp_dpcd[0] >= DP_EDP_15)
-+ return true;
-+
-+ switch (early_scanline_support) {
-+ case INTEL_DPCD_INTEL_WA_REGISTER_CAPS_FALL_BACK_TO_PSR1:
-+ crtc_state->req_psr2_sdp_prior_scanline = false;
-+ return false;
-+ case INTEL_DPCD_INTEL_WA_REGISTER_CAPS_PSR2_WITH_EARLY_SCANLINE:
-+ return true;
-+ case INTEL_DPCD_INTEL_WA_REGISTER_CAPS_PSR2_WITHOUT_EARLY_SCANLINE:
-+ crtc_state->req_psr2_sdp_prior_scanline = false;
-+ return true;
-+ default:
-+ MISSING_CASE(early_scanline_support);
-+ return false;
-+ }
-+}
-+
-+static bool _compute_psr2_sdp_prior_scanline_indication(struct intel_crtc_state *crtc_state,
-+ struct intel_connector *connector)
-+{
-+ struct intel_dp *intel_dp = intel_attached_dp(connector);
- struct intel_display *display = to_intel_display(intel_dp);
- const struct drm_display_mode *adjusted_mode = &crtc_state->uapi.adjusted_mode;
- u32 hblank_total, hblank_ns, req_ns;
-@@ -1371,7 +1397,8 @@ static bool _compute_psr2_sdp_prior_scan
- return false;
-
- crtc_state->req_psr2_sdp_prior_scanline = true;
-- return true;
-+
-+ return apply_scanline_indication_wa(crtc_state, connector);
- }
-
- static int intel_psr_entry_setup_frames(struct intel_dp *intel_dp,
-@@ -1653,7 +1680,7 @@ static bool intel_sel_update_config_vali
- conn_state))
- goto unsupported;
-
-- if (!_compute_psr2_sdp_prior_scanline_indication(intel_dp, crtc_state)) {
-+ if (!_compute_psr2_sdp_prior_scanline_indication(crtc_state, connector)) {
- drm_dbg_kms(display->drm,
- "Selective update not enabled, SDP indication do not fit in hblank\n");
- goto unsupported;
cpufreq-intel_pstate-use-correct-scaling-factor-on-raptor-lake-e.patch
device-property-set-fwnode-secondary-to-null-in-fwnode_init.patch
drm-i915-display-copy-color-pipeline-from-plane-in-the-primary-joiner-pipe.patch
-drm-i915-psr-apply-intel-dpcd-workaround-when-sdp-on-prior-line-used.patch
drm-msm-fix-shrinker-deadlock.patch
drm-v3d-fix-use-after-free-of-cpu-job-query-arrays-on-error-path.patch
drm-v3d-release-indirect-csd-gem-reference-on-cpu-job-free.patch