Message ID | 20240605102553.187309-13-jouni.hogander@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Panel Replay eDP support | expand |
> -----Original Message----- > From: Hogander, Jouni <jouni.hogander@intel.com> > Sent: Wednesday, June 5, 2024 3:56 PM > To: intel-gfx@lists.freedesktop.org > Cc: Manna, Animesh <animesh.manna@intel.com>; Kahola, Mika > <mika.kahola@intel.com>; Hogander, Jouni <jouni.hogander@intel.com> > Subject: [PATCH v6 12/26] 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 <jouni.hogander@intel.com> Reviewed-by: Animesh Manna <animesh.manna@intel.com> > --- > drivers/gpu/drm/i915/display/intel_psr.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/gpu/drm/i915/display/intel_psr.c > b/drivers/gpu/drm/i915/display/intel_psr.c > index 23c3fed1f983..471b60032304 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 vblank_length_valid(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; > -- > 2.34.1
diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c index 23c3fed1f983..471b60032304 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 vblank_length_valid(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;
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 <jouni.hogander@intel.com> --- drivers/gpu/drm/i915/display/intel_psr.c | 3 +++ 1 file changed, 3 insertions(+)