]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
drm/i915/vrr: Fix intel_vrr_always_use_vrr_tg()==true on TGL
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 20 Oct 2025 18:50:17 +0000 (21:50 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 24 Oct 2025 20:53:52 +0000 (23:53 +0300)
commitaa883719281edcc929df654a5b6b1e98e272cb00
tree5124de1dfba5ff8f917ae20470ba6685e8b31277
parent0790925dadad0997580df6e32cdccd54316807f2
drm/i915/vrr: Fix intel_vrr_always_use_vrr_tg()==true on TGL

On TGL the hardware always needs TRANS_VBLANK.VBLANK_START
to be programemd with VACTIVE+SCL. Make it so.

The current way of programming it with crtc_vblank_start only
works for the legacy timing generator, as there the delayed
vblank does happen exactly at VACTIVE+SCL.

But if one tries to change intel_vrr_always_use_vrr_tg() to
always use the VRR timing generator on TGL, crtc_vblank_start
will point to the VRR timing generator's delayed vblank,
which may not match VACTIVE+SCL.

Fortunately the state checker caught the issue right away
when I tried intel_vrr_always_use_vrr_tg()==true on TGL.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20251020185038.4272-2-ville.syrjala@linux.intel.com
Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
drivers/gpu/drm/i915/display/intel_display.c