On Sun, Sep 21, 2025 at 10:05:33AM +0530, Ankit Nautiyal wrote:
> The helper intel_dsb_wait_vblank_delay() is used in DSB to wait for SCL
> lines after the send push operation. Rename it to
> intel_dsb_wait_for_scl_lines() to align with the semantics.
>
> Signed-off-by: Ankit Nautiyal <[email protected]>
> ---
> drivers/gpu/drm/i915/display/intel_color.c | 2 +-
> drivers/gpu/drm/i915/display/intel_display.c | 2 +-
> drivers/gpu/drm/i915/display/intel_dsb.c | 11 +++++------
> drivers/gpu/drm/i915/display/intel_dsb.h | 4 ++--
> 4 files changed, 9 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_color.c
> b/drivers/gpu/drm/i915/display/intel_color.c
> index 671db6926e4c..4defd2425837 100644
> --- a/drivers/gpu/drm/i915/display/intel_color.c
> +++ b/drivers/gpu/drm/i915/display/intel_color.c
> @@ -2013,7 +2013,7 @@ void intel_color_prepare_commit(struct
> intel_atomic_state *state,
>
> if (crtc_state->use_dsb && intel_color_uses_chained_dsb(crtc_state)) {
> intel_vrr_send_push(crtc_state->dsb_color, crtc_state);
> - intel_dsb_wait_vblank_delay(state, crtc_state->dsb_color);
> + intel_dsb_wait_for_scl_lines(state, crtc_state->dsb_color);
> intel_vrr_check_push_sent(crtc_state->dsb_color, crtc_state);
> intel_dsb_interrupt(crtc_state->dsb_color);
> }
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c
> b/drivers/gpu/drm/i915/display/intel_display.c
> index 455bbebb50a5..bfeec3706f35 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -7268,7 +7268,7 @@ static void intel_atomic_dsb_finish(struct
> intel_atomic_state *state,
> intel_dsb_wait_vblanks(new_crtc_state->dsb_commit, 1);
>
> intel_vrr_send_push(new_crtc_state->dsb_commit, new_crtc_state);
> - intel_dsb_wait_vblank_delay(state, new_crtc_state->dsb_commit);
> + intel_dsb_wait_for_scl_lines(state, new_crtc_state->dsb_commit);
> intel_vrr_check_push_sent(new_crtc_state->dsb_commit,
> new_crtc_state);
> intel_dsb_interrupt(new_crtc_state->dsb_commit);
> diff --git a/drivers/gpu/drm/i915/display/intel_dsb.c
> b/drivers/gpu/drm/i915/display/intel_dsb.c
> index dfe928aefdcd..400dcc87a992 100644
> --- a/drivers/gpu/drm/i915/display/intel_dsb.c
> +++ b/drivers/gpu/drm/i915/display/intel_dsb.c
> @@ -115,8 +115,8 @@ static bool pre_commit_is_vrr_active(struct
> intel_atomic_state *state,
> return old_crtc_state->vrr.enable && !intel_crtc_vrr_disabling(state,
> crtc);
> }
>
> -static int dsb_vblank_delay(struct intel_atomic_state *state,
> - struct intel_crtc *crtc)
> +static int dsb_scl_delay(struct intel_atomic_state *state,
> + struct intel_crtc *crtc)
> {
> const struct intel_crtc_state *crtc_state =
> intel_pre_commit_crtc_state(state, crtc);
> @@ -815,15 +815,14 @@ void intel_dsb_chain(struct intel_atomic_state *state,
> wait_for_vblank ? DSB_WAIT_FOR_VBLANK : 0);
> }
>
> -void intel_dsb_wait_vblank_delay(struct intel_atomic_state *state,
> - struct intel_dsb *dsb)
> +void intel_dsb_wait_for_scl_lines(struct intel_atomic_state *state,
> + struct intel_dsb *dsb)
I'd leave this name as is for now. Or perhaps we should call it
intel_dsb_wait_for_delayed_vblank().
The actual behaviour of this will need to be slightly different between
the different timings generators/refresh rate modes so it can't just
wait for SCL lines in all the cases.
> {
> struct intel_crtc *crtc = dsb->crtc;
> const struct intel_crtc_state *crtc_state =
> intel_pre_commit_crtc_state(state, crtc);
> int usecs = intel_scanlines_to_usecs(&crtc_state->hw.adjusted_mode,
> - dsb_vblank_delay(state, crtc));
> -
> + dsb_scl_delay(state, crtc));
> intel_dsb_wait_usec(dsb, usecs);
> }
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dsb.h
> b/drivers/gpu/drm/i915/display/intel_dsb.h
> index c8f4499916eb..1cb5ba1a0534 100644
> --- a/drivers/gpu/drm/i915/display/intel_dsb.h
> +++ b/drivers/gpu/drm/i915/display/intel_dsb.h
> @@ -48,8 +48,8 @@ void intel_dsb_nonpost_end(struct intel_dsb *dsb);
> void intel_dsb_interrupt(struct intel_dsb *dsb);
> void intel_dsb_wait_usec(struct intel_dsb *dsb, int count);
> void intel_dsb_wait_vblanks(struct intel_dsb *dsb, int count);
> -void intel_dsb_wait_vblank_delay(struct intel_atomic_state *state,
> - struct intel_dsb *dsb);
> +void intel_dsb_wait_for_scl_lines(struct intel_atomic_state *state,
> + struct intel_dsb *dsb);
> void intel_dsb_wait_scanline_in(struct intel_atomic_state *state,
> struct intel_dsb *dsb,
> int lower, int upper);
> --
> 2.45.2
--
Ville Syrjälä
Intel