On Wed, 22 Nov 2023, Mitul Golani <mitulkumar.ajitkumar.golani@xxxxxxxxx> wrote: > CMRR is a display feature that uses adaptive sync > framework to vary Vtotal slightly to match the > content rate exactly without frame drops. This > feature is a variation of VRR where it varies Vtotal > slightly (between additional 0 and 1 Vtotal scanlines) > to match content rate exactly without frame drops > using the adaptive sync framework. Please check and use the -v<N> option of git-send-email. BR, Jani. > > enable this feature by programing new registers for > CMRR enable, CMRR_M, CMRR_N, vmin=vmax=flipline.The > CMRR_M/CMRR_N ratio represents the fractional part > in (actual refresh rate/target refresh rate) * origVTotal. > > Mitul Golani (3): > drm/i915: Define and compute Transcoder CMRR registers > drm/i915: Add Enable/Disable for CMRR based on VRR state > drm/i915: Compute CMRR and calculate vtotal > > .../drm/i915/display/intel_crtc_state_dump.c | 4 +- > drivers/gpu/drm/i915/display/intel_display.c | 54 +++++++- > .../drm/i915/display/intel_display_device.h | 1 + > .../drm/i915/display/intel_display_types.h | 6 + > drivers/gpu/drm/i915/display/intel_vrr.c | 129 ++++++++++++++++-- > drivers/gpu/drm/i915/i915_reg.h | 10 ++ > 6 files changed, 184 insertions(+), 20 deletions(-) -- Jani Nikula, Intel