[PATCH 00/15] Optimize vrr.guardband and fix LRR
Ankit Nautiyal
ankit.k.nautiyal at intel.com
Mon Aug 4 13:24:25 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.
First few patches fix/refactor and extract common functions required for
dsc/scaler prefill time computation. Later patches use these helpers to
compute an optimized guardband.
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.
-Fix downscaling factor for chroma subsampling.
-Use missing pkg C max latency.
-Fix guardband computation for seamless mn, always use vblank for
higher resolution.
Ankit Nautiyal (15):
drm/i915/skl_watermark: Fix the scaling factor for chroma subsampling
drm/i915/skl_watermark: Add bounds check for scaler array access
drm/i915/skl_watermark: Pass linetime as argument to latency helpers
drm/i915/skl_scaler: Introduce helper for chroma downscale factor
drm/i915/display: Extract helpers to set dsc/scaler prefill latencies
drm/i915/dp: Add SDP latency computation helper
drm/i915/psr: Add function to compute max link-wake latency
drm/i915/psr: Store max PSR2/Panel Replay latency in crtc_state
drm/i915/vrr: Use vrr.sync_start for getting vtotal
drm/i915/display: Add guardband check for feature latencies
drm/i915/skl_watermark: Remove redundant latency checks from vblank
validation
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 | 174 +++++++++++-
drivers/gpu/drm/i915/display/intel_display.h | 8 +
.../drm/i915/display/intel_display_types.h | 1 +
drivers/gpu/drm/i915/display/intel_dp.c | 53 +++-
drivers/gpu/drm/i915/display/intel_dp.h | 2 +
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 | 64 +++++
drivers/gpu/drm/i915/display/intel_psr.h | 3 +
drivers/gpu/drm/i915/display/intel_vrr.c | 265 ++++++++++++++++--
drivers/gpu/drm/i915/display/intel_vrr.h | 3 +-
drivers/gpu/drm/i915/display/skl_scaler.c | 5 +
drivers/gpu/drm/i915/display/skl_scaler.h | 2 +
drivers/gpu/drm/i915/display/skl_watermark.c | 89 +-----
drivers/gpu/drm/i915/display/skl_watermark.h | 1 +
15 files changed, 570 insertions(+), 115 deletions(-)
--
2.45.2
More information about the Intel-gfx
mailing list