* Update linux-ptl to 7.1.2.arch3 Refresh the linux-ptl package against Arch Linux 7.1.2.arch3-1 sources and config. Keep the existing Panther Lake patch stack after revalidating each patch against upstream, with 0027 reduced to the remaining Panel Replay TRANS_PUSH policy delta now that Linux 7.1 carries the common infrastructure. * Drop linux-ptl PSR with VRR patch Remove the linux-ptl patch that allowed plain PSR/PSR2 with VRR. Failing logs showed Panel Replay disabled by quirk and VRR triggering DSB poll errors followed by PSR idle timeouts. Upstream's VRR guard is the correct behavior for the plain PSR path; Panel Replay remains handled by the existing TRANS_PUSH policy patch. Validated with: ./bin/build --package linux-ptl * Update linux-ptl to 7.1.3.arch1
47 lines
1.9 KiB
Diff
47 lines
1.9 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Gaggery Tsai <gaggery.tsai@intel.com>
|
|
Date: Tue, 28 Apr 2026 16:10:00 -0500
|
|
Subject: [PATCH] drm/i915: limit TRANS_PUSH frame changes to Panel Replay
|
|
|
|
Linux 7.1 carries the TRANS_PUSH frame-change infrastructure that
|
|
linux-ptl previously backported. Keep only the remaining linux-ptl
|
|
policy delta: use TRANS_PUSH for Panel Replay, but not for plain PSR2.
|
|
|
|
Plain PSR2 must keep using the old CURSURFLIVE frame-change path so
|
|
systems still boot when Panel Replay is disabled with
|
|
xe.enable_panel_replay=0.
|
|
|
|
Signed-off-by: Gaggery Tsai <gaggery.tsai@intel.com>
|
|
---
|
|
diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
|
|
--- a/drivers/gpu/drm/i915/display/intel_psr.c
|
|
+++ b/drivers/gpu/drm/i915/display/intel_psr.c
|
|
@@ -2171,7 +2171,7 @@ static void intel_psr_enable_source(struct intel_dp *intel_dp,
|
|
|
|
intel_alpm_configure(intel_dp, crtc_state);
|
|
|
|
- if (HAS_PSR_TRANS_PUSH_FRAME_CHANGE(display))
|
|
+ if (intel_psr_use_trans_push(crtc_state))
|
|
intel_vrr_psr_frame_change_enable(crtc_state);
|
|
}
|
|
|
|
@@ -4658,5 +4658,5 @@ bool intel_psr_use_trans_push(const struct intel_crtc_state *crtc_state)
|
|
{
|
|
struct intel_display *display = to_intel_display(crtc_state);
|
|
|
|
- return HAS_PSR_TRANS_PUSH_FRAME_CHANGE(display) && crtc_state->has_psr;
|
|
+ return HAS_PSR_TRANS_PUSH_FRAME_CHANGE(display) && crtc_state->has_panel_replay;
|
|
}
|
|
diff --git a/drivers/gpu/drm/i915/display/intel_vrr.c b/drivers/gpu/drm/i915/display/intel_vrr.c
|
|
--- a/drivers/gpu/drm/i915/display/intel_vrr.c
|
|
+++ b/drivers/gpu/drm/i915/display/intel_vrr.c
|
|
@@ -703,7 +703,7 @@ static u32 trans_vrr_push(const struct intel_crtc_state *crtc_state,
|
|
if (send_push)
|
|
trans_vrr_push |= TRANS_PUSH_SEND;
|
|
|
|
- if (HAS_PSR_TRANS_PUSH_FRAME_CHANGE(display))
|
|
+ if (intel_psr_use_trans_push(crtc_state))
|
|
trans_vrr_push |= LNL_TRANS_PUSH_PSR_PR_EN;
|
|
|
|
return trans_vrr_push;
|