mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 17:47:41 +02:00
drm/i915/psr: Apply SDP on prior scanline workaround for Xe3p
In Xe3p there is an HW optimization done. When there is an SU triggered in Capture state, Link will be kept ON post Capture CRC SDP. Before valid SU pixels Intel source will transmit dummy pixels. Some TCONS are improperly considering these dummy pixels as a valid pixel data. Prior Xe3p link was was turned off even if there was SU triggered in capture state and no dummy pixels were transmitted. These dummy pixels are problem only if SDP on prior scanline is used and Early Transport is not in use. The workaround is to start SU area always at scanline 0. v2: use intel_display_wa Bspec: 74741, 79482 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-5-jouni.hogander@intel.com
This commit is contained in:
parent
c3fe899fbe
commit
fed4921503
|
|
@ -136,6 +136,8 @@ bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa,
|
|||
return DISPLAY_VER(display) == 20 &&
|
||||
IS_DISPLAY_VERx100_STEP(display, 3000,
|
||||
STEP_A0, STEP_B0);
|
||||
case INTEL_DISPLAY_WA_16029024088:
|
||||
return DISPLAY_VER(display) >= 35;
|
||||
case INTEL_DISPLAY_WA_18034343758:
|
||||
return DISPLAY_VER(display) == 20 ||
|
||||
(display->platform.pantherlake &&
|
||||
|
|
|
|||
|
|
@ -52,6 +52,7 @@ enum intel_display_wa {
|
|||
INTEL_DISPLAY_WA_16023588340,
|
||||
INTEL_DISPLAY_WA_16025573575,
|
||||
INTEL_DISPLAY_WA_16025596647,
|
||||
INTEL_DISPLAY_WA_16029024088,
|
||||
INTEL_DISPLAY_WA_18034343758,
|
||||
INTEL_DISPLAY_WA_22010178259,
|
||||
INTEL_DISPLAY_WA_22010947358,
|
||||
|
|
|
|||
|
|
@ -2913,6 +2913,11 @@ intel_psr_apply_su_area_workarounds(struct intel_crtc_state *crtc_state)
|
|||
crtc_state->splitter.enable)
|
||||
crtc_state->psr2_su_area.y1 = 0;
|
||||
|
||||
if (intel_display_wa(display, INTEL_DISPLAY_WA_16029024088) &&
|
||||
crtc_state->req_psr2_sdp_prior_scanline &&
|
||||
!crtc_state->enable_psr2_su_region_et)
|
||||
crtc_state->psr2_su_area.y1 = 0;
|
||||
|
||||
/* Wa 14019834836 */
|
||||
if (DISPLAY_VER(display) == 30)
|
||||
intel_psr_apply_pr_link_on_su_wa(crtc_state);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user