[PATCH 1/3] drm/i915: Fix scanline_offset for LNL+ and BMG+

Hogander, Jouni jouni.hogander at intel.com
Thu Feb 20 09:30:01 UTC 2025


On Fri, 2025-02-07 at 23:54 +0200, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> 
> Turns out LNL+ and BMG+ no longer have the weird extra scanline
> offset for HDMI outputs. Fix intel_crtc_scanline_offset()
> accordingly so that scanline evasion/etc. works correctly on
> HDMI outputs on these new platforms.
> 
> Cc: stable at vger.kernel.org
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_vblank.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_vblank.c
> b/drivers/gpu/drm/i915/display/intel_vblank.c
> index 4efd4f7d497a..7b240ce681a0 100644
> --- a/drivers/gpu/drm/i915/display/intel_vblank.c
> +++ b/drivers/gpu/drm/i915/display/intel_vblank.c
> @@ -222,7 +222,9 @@ int intel_crtc_scanline_offset(const struct
> intel_crtc_state *crtc_state)
>  	 * However if queried just before the start of vblank we'll
> get an
>  	 * answer that's slightly in the future.
>  	 */
> -	if (DISPLAY_VER(display) == 2)
> +	if (DISPLAY_VER(display) >= 20 || display-
> >platform.battlemage)

Based on what Matt Roper wrote in response to cover letter you could
consider changing this to:

if (DISPLAY_VERx100(display) >= 1401)

What do you think?

BR,

Jouni Högander

> +		return 1;
> +	else if (DISPLAY_VER(display) == 2)
>  		return -1;
>  	else if (HAS_DDI(display) && intel_crtc_has_type(crtc_state,
> INTEL_OUTPUT_HDMI))
>  		return 2;



More information about the Intel-xe mailing list