aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJouni Högander <[email protected]>2024-06-07 16:49:15 +0300
committerJouni Högander <[email protected]>2024-06-11 13:04:24 +0300
commitaeafa46ee30c95dbad77db19b1400fb6fd78245f (patch)
tree50399ce5c3683b0e450b43df7529f16cf5bf79a0
parent2e8938a1c56e60fcd6e52de254808615d0eccea4 (diff)
drm/i915/psr: Take into account SU SDP scanline indication in vblank check
SU SDP scanline indication should be taken into account when checking vblank length. In Bspec we have: PSR2_CTL[ SU SDP scanline indication ] = 0: (TRANS_VBLANK Vertical Blank End- TRANS_VBLANK Vertical Blank Start) > PSR2_CTL Block Count Number value in lines PSR2_CTL[ SU SDP scanline indication ] = 1: (TRANS_VBLANK Vertical Blank End- TRANS_VBLANK Vertical Blank Start- 1) > PSR2_CTL Block Count Number value in lines Bspec: 49274 Signed-off-by: Jouni Högander <[email protected]> Reviewed-by: Animesh Manna <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
-rw-r--r--drivers/gpu/drm/i915/display/intel_psr.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
index 8f2b8b4620bd..7ee03bf924c4 100644
--- a/drivers/gpu/drm/i915/display/intel_psr.c
+++ b/drivers/gpu/drm/i915/display/intel_psr.c
@@ -1250,6 +1250,9 @@ static bool wake_lines_fit_into_vblank(struct intel_dp *intel_dp,
crtc_state->hw.adjusted_mode.crtc_vblank_start;
int wake_lines = psr2_block_count_lines(intel_dp);
+ if (crtc_state->req_psr2_sdp_prior_scanline)
+ vblank -= 1;
+
/* Vblank >= PSR2_CTL Block Count Number maximum line count */
if (vblank < wake_lines)
return false;