[PATCH 0/9] Use VRR timing generator for fixed refresh rate modes

Ankit Nautiyal ankit.k.nautiyal at intel.com
Mon Jun 24 05:35:51 UTC 2024


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.
For platforms MTL+, always go with VRR timing generator for both fixed and
variable refresh rate cases. There are still few cases that need plumbing
like having PSR/PSR2 with VRR timing generator.

Rev2:
-Added support from MTL+ and for HDMI too.
-Changed VRR VSYNC programming which is required for HDMI.
-Modified vrr compute config for bigjoiner case. (Still to be tested).

Ankit Nautiyal (9):
  drm/i915/dp: fix the Adaptive sync Operation mode for SDP
  drm/i915/display: Get VRR compute config before get_transcoder_timing
  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: Compute vrr vsync if platforms support it
  drm/i915/vrr: Handle joiner with vrr
  drm/i915/hdmi: Use VRR Timing generator for HDMI
  drm/i915/vrr: Use VRR timing generator whenever panel supports VRR

 drivers/gpu/drm/i915/display/intel_display.c  | 10 +-
 .../drm/i915/display/intel_display_types.h    |  2 +-
 drivers/gpu/drm/i915/display/intel_dp.c       |  7 +-
 drivers/gpu/drm/i915/display/intel_hdmi.c     |  3 +
 drivers/gpu/drm/i915/display/intel_vrr.c      | 93 ++++++++++++-------
 5 files changed, 73 insertions(+), 42 deletions(-)

-- 
2.40.1



More information about the Intel-gfx mailing list