[PATCH 0/7] Optimize vrr.guardband and fix LRR

Ankit Nautiyal ankit.k.nautiyal at intel.com
Thu Jul 31 12:15:12 UTC 2025


Instead of setting vrr.guardband to vblank, use optimal guardband that
works for most of the cases. This will help in avoiding need of change
in guardband and fix the LRR feature that needs seamless switching to
a lower refresh rate.
Also, for seamless_mn where vtotal is same but mode clock is changed to
seamlessly switch to lower rate, re-compute the vrr timings.

Few things that still need work:
-The timestamps corresponding with next start of vactive still need to be
fixed with the new scheme.
-Re-enabling CMRR

Rev2:
-Address comments from Mitul.
-Extract helpers for dsc/scaler prefill latencies.
-Use missing pkg C max latency.
-Fix guardband computation for seamless mn, always use vblank for
higher resolution.

Ankit Nautiyal (7):
  drm/i915/vrr: Use vrr.sync_start for getting vtotal
  drm/i915/display: Extract helpers to set dsc/scaler prefill latencies
  drm/i915/psr: Add function to compute max link-wake latency
  drm/i915/vrr: Use static guardband to support seamless LRR switching
  drm/i915/vrr: Set vrr.vmin to min Vtotal
  drm/i915/panel: Add helper to get highest fixed mode
  drm/i915/vrr: Fix seamless_mn drrs for PTL

 drivers/gpu/drm/i915/display/intel_display.c |  36 ++-
 drivers/gpu/drm/i915/display/intel_display.h |   8 +
 drivers/gpu/drm/i915/display/intel_dp.c      |   2 +-
 drivers/gpu/drm/i915/display/intel_dp.h      |   1 +
 drivers/gpu/drm/i915/display/intel_panel.c   |  13 +
 drivers/gpu/drm/i915/display/intel_panel.h   |   2 +
 drivers/gpu/drm/i915/display/intel_psr.c     |  41 +++
 drivers/gpu/drm/i915/display/intel_psr.h     |   2 +
 drivers/gpu/drm/i915/display/intel_vrr.c     | 267 +++++++++++++++++--
 drivers/gpu/drm/i915/display/intel_vrr.h     |   3 +-
 drivers/gpu/drm/i915/display/skl_watermark.c |  39 +--
 11 files changed, 367 insertions(+), 47 deletions(-)

-- 
2.45.2



More information about the Intel-gfx-trybot mailing list