All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/9] Introduce set_context_latency and refactor VRR/DSB timing logic
@ 2025-09-21  4:35 Ankit Nautiyal
  2025-09-21  4:35 ` [PATCH 1/9] drm/i915/psr: s/intel_psr_min_vblank_delay/intel_psr_min_set_context_latency Ankit Nautiyal
                   ` (13 more replies)
  0 siblings, 14 replies; 38+ messages in thread
From: Ankit Nautiyal @ 2025-09-21  4:35 UTC (permalink / raw)
  To: intel-gfx, intel-xe; +Cc: ville.syrjala, Ankit Nautiyal

This patch series refactors VRR and DSB timing logic by introducing
explicit handling of Set Context Latency (SCL) the number of lines required
before double buffering to safely program display registers, aka W2 Window.

Previously, SCL was handled implicitly via vblank delay calculations. This
was a hinderance for later work to optimize guardband length. This series
formalizes SCL as `set_context_latency` in `intel_crtc_state`, enabling
consistent tracking and timing/delay computation across platforms.

- Introduces `set_context_latency` to track SCL explicitly.
- Refactors VRR evasion and DSB wait logic to use SCL directly.
- Clamps guardband values based on hardware limits and timing constraints.
- Renames helpers for clarity and removes legacy delay logic.

Ankit Nautiyal (9):
  drm/i915/psr:
    s/intel_psr_min_vblank_delay/intel_psr_min_set_context_latency
  drm/i915/display: Add set_context_latency to crtc_state->vrr
  drm/i915/display: Use VBLANK_START to get the vblank delay for TGL
  drm/i915/vrr: Use set_context_latency instead of
    intel_vrr_real_vblank_delay()
  drm/i915/vrr: s/intel_vrr_vblank_delay/intel_vrr_scl_delay
  drm/i915/display: Use set context latency in evasion logic
  drm/i915/dsb:
    s/intel_dsb_wait_vblank_delay/intel_dsb_wait_for_scl_lines
  drm/i915/display: Wait for scl start instead of dsb_wait_vblanks
  drm/i915/vrr: Clamp guardband as per hardware and timing constraints

 drivers/gpu/drm/i915/display/intel_color.c    |  2 +-
 .../drm/i915/display/intel_crtc_state_dump.c  |  5 +-
 drivers/gpu/drm/i915/display/intel_display.c  | 43 ++++++++++-----
 .../drm/i915/display/intel_display_types.h    |  3 ++
 drivers/gpu/drm/i915/display/intel_dsb.c      | 35 ++++++++----
 drivers/gpu/drm/i915/display/intel_dsb.h      |  6 ++-
 drivers/gpu/drm/i915/display/intel_psr.c      |  6 +--
 drivers/gpu/drm/i915/display/intel_psr.h      |  2 +-
 drivers/gpu/drm/i915/display/intel_vblank.c   |  9 +---
 drivers/gpu/drm/i915/display/intel_vblank.h   |  1 -
 drivers/gpu/drm/i915/display/intel_vrr.c      | 54 ++++++++++++-------
 drivers/gpu/drm/i915/display/intel_vrr.h      |  2 +-
 12 files changed, 109 insertions(+), 59 deletions(-)

-- 
2.45.2


^ permalink raw reply	[flat|nested] 38+ messages in thread

end of thread, other threads:[~2025-09-23 11:45 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-21  4:35 [PATCH 0/9] Introduce set_context_latency and refactor VRR/DSB timing logic Ankit Nautiyal
2025-09-21  4:35 ` [PATCH 1/9] drm/i915/psr: s/intel_psr_min_vblank_delay/intel_psr_min_set_context_latency Ankit Nautiyal
2025-09-22  9:51   ` Ville Syrjälä
2025-09-21  4:35 ` [PATCH 2/9] drm/i915/display: Add set_context_latency to crtc_state->vrr Ankit Nautiyal
2025-09-22 10:00   ` Ville Syrjälä
2025-09-23 10:47     ` Nautiyal, Ankit K
2025-09-21  4:35 ` [PATCH 3/9] drm/i915/display: Use VBLANK_START to get the vblank delay for TGL Ankit Nautiyal
2025-09-22 10:07   ` Ville Syrjälä
2025-09-22 10:20     ` Nautiyal, Ankit K
2025-09-22 11:01       ` Ville Syrjälä
2025-09-21  4:35 ` [PATCH 4/9] drm/i915/vrr: Use set_context_latency instead of intel_vrr_real_vblank_delay() Ankit Nautiyal
2025-09-22 10:14   ` Ville Syrjälä
2025-09-23 10:48     ` Nautiyal, Ankit K
2025-09-21  4:35 ` [PATCH 5/9] drm/i915/vrr: s/intel_vrr_vblank_delay/intel_vrr_scl_delay Ankit Nautiyal
2025-09-21  4:35 ` [PATCH 6/9] drm/i915/display: Use set context latency in evasion logic Ankit Nautiyal
2025-09-22 10:18   ` Ville Syrjälä
2025-09-22 11:19     ` Ville Syrjälä
2025-09-22 11:30       ` Ville Syrjälä
2025-09-23 10:50         ` Nautiyal, Ankit K
2025-09-21  4:35 ` [PATCH 7/9] drm/i915/dsb: s/intel_dsb_wait_vblank_delay/intel_dsb_wait_for_scl_lines Ankit Nautiyal
2025-09-22 10:32   ` Ville Syrjälä
2025-09-23 10:52     ` Nautiyal, Ankit K
2025-09-21  4:35 ` [PATCH 8/9] drm/i915/display: Wait for scl start instead of dsb_wait_vblanks Ankit Nautiyal
2025-09-22 10:26   ` Ville Syrjälä
2025-09-22 13:34     ` Nautiyal, Ankit K
2025-09-22 13:44       ` Ville Syrjälä
2025-09-22 13:49         ` Ville Syrjälä
2025-09-22 14:04           ` Ville Syrjälä
2025-09-23 10:55             ` Nautiyal, Ankit K
2025-09-21  4:35 ` [PATCH 9/9] drm/i915/vrr: Clamp guardband as per hardware and timing constraints Ankit Nautiyal
2025-09-22 10:57   ` Ville Syrjälä
2025-09-23 10:32     ` Nautiyal, Ankit K
2025-09-23 11:45       ` Ville Syrjälä
2025-09-21  4:58 ` ✓ CI.KUnit: success for Introduce set_context_latency and refactor VRR/DSB timing logic Patchwork
2025-09-21  5:13 ` ✗ CI.checksparse: warning " Patchwork
2025-09-21  5:33 ` ✗ Xe.CI.BAT: failure " Patchwork
2025-09-21  6:04 ` ✗ i915.CI.BAT: " Patchwork
2025-09-21  6:47 ` ✗ Xe.CI.Full: " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.