]> www.infradead.org Git - users/hch/misc.git/commitdiff
drm/i915: Fix scanline_offset for LNL+ and BMG+
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 7 Feb 2025 21:54:04 +0000 (23:54 +0200)
committerJani Nikula <jani.nikula@intel.com>
Mon, 7 Apr 2025 08:00:06 +0000 (11:00 +0300)
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@vger.kernel.org
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250207215406.19348-2-ville.syrjala@linux.intel.com
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
(cherry picked from commit fede97b72b957b46260ca98fc924ba2b916e50d7)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/display/intel_vblank.c

index 4efd4f7d497abbd2562b4f6efa148c165737a464..7b240ce681a01afb12de2da836d8b3fec31ba626 100644 (file)
@@ -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)
+               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;