Re: [PATCH 1/8] drm/i915: Keep TRANS_VBLANK.vblank_start==0 on ADL+ even when doing LRR updates

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 16 Jan 2025, Ville Syrjala <ville.syrjala@xxxxxxxxxxxxxxx> wrote:
> From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
>
> intel_set_transcoder_timings() will set TRANS_VBLANK.vblank_start to 0
> for clarity on ADL+ (non-DSI) because the hardware no longer uses that
> value. So the same in intel_set_transcoder_timings_lrr() to make sure
> the registers stay constitent even when doing LRR timing updates.
>
> Cc: Paz Zcharya <pazz@xxxxxxxxxxxx>
> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>

Hmm, so how come this doesn't warrant a change in readout?

Apparently because intel_get_transcoder_timings() overwrites the read
value for display 13+ and non-dsi. Hrmh.

Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx>


> ---
>  drivers/gpu/drm/i915/display/intel_display.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index f5d2eacce119..5ba3b2d658e5 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -2923,6 +2923,14 @@ static void intel_set_transcoder_timings_lrr(const struct intel_crtc_state *crtc
>  	crtc_vblank_start = adjusted_mode->crtc_vblank_start;
>  	crtc_vblank_end = adjusted_mode->crtc_vblank_end;
>  
> +	if (DISPLAY_VER(dev_priv) >= 13) {
> +		/*
> +		 * VBLANK_START not used by hw, just clear it
> +		 * to make it stand out in register dumps.
> +		 */
> +		crtc_vblank_start = 1;
> +	}
> +
>  	drm_WARN_ON(&dev_priv->drm, adjusted_mode->flags & DRM_MODE_FLAG_INTERLACE);
>  
>  	/*

-- 
Jani Nikula, Intel




[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux