Even though the VRR timing generator (TG) is primarily used for variable refresh rates, it can be used for fixed refresh rates as well. For a fixed refresh rate the Flip Line and Vmax must be equal (TRANS_VRR_FLIPLINE = TRANS_VRR_VMAX). Beyond that, there are some dependencies between the VRR timings and the legacy timing generator registgers. This series is an attempt to use VRR TG for fixed refresh rate. Currently the support to use VRR timing generator for fixed refresh rate is added from LNL+ and only for panels that support VRR, however this can be used for older platforms also and used with panels that do not support VRR, which will be added subsequently. There are still few cases that need plumbing like having PSR/PSR2 with VRR timing generator and bigjoiner + VRR. Ankit Nautiyal (5): drm/i915/dp: fix the Adaptive sync Operation mode for SDP drm/i915/display: Add member fixed_rr to denote Fixed refresh rate with VRRTG drm/i915/dp: Set FAVT mode in DP SDP with fixed refresh rate drm/i915/vrr: Avoid sending PUSH when VRR TG is used with Fixed refresh rate drm/i915/vrr/xe2lpd: Use VRR timing generator whenever panel supports VRR drivers/gpu/drm/i915/display/intel_display.c | 4 +- .../drm/i915/display/intel_display_types.h | 2 +- drivers/gpu/drm/i915/display/intel_dp.c | 6 +- drivers/gpu/drm/i915/display/intel_vrr.c | 59 ++++++++++++------- 4 files changed, 46 insertions(+), 25 deletions(-) -- 2.40.1