[PATCH v2 00/13] drm/i915: Use DSB for plane/color management commits

Ville Syrjala ville.syrjala at linux.intel.com
Mon Sep 30 17:04:02 UTC 2024


From: Ville Syrjälä <ville.syrjala at linux.intel.com>

Use the DSB to perform simple plane/color management commits.
Anything more complicatd (modesets and fastsets) are still
punted to the mmio path.

Also DSB won't be used when any of these are in use:
- scalers (scaler code needs more work)
- VRR (need to figure out a race free commit completion scheme)
- PSR (zero thoughts given for PSR interactions so far)
- async flips (no real though given here either)

v2: rebase

Ville Syrjälä (13):
  drm/i915/dsb: Avoid reads of the DSB buffer for indexed register
    writes
  drm/i915: Prepare clear color before wait_for_dependencies()
  drm/i915/dsb: Generate the DSB buffer in commit_tail()
  drm/i915/dsb: Enable programmable DSB interrupt
  drm/i915/dsb: Introduce intel_dsb_vblank_evade()
  drm/i915/dsb: Introduce intel_dsb_wait_usec()
  drm/i915/dsb: Introduce intel_dsb_wait_vblanks()
  drm/i915: Introduce intel_scanlines_to_usecs()
  drm/i915/dsb: Introduce intel_dsb_wait_vblank_delay()
  drm/i915: Extract intel_crtc_prepare_vblank_event()
  drm/i915: Plumb 'dsb' all way to the plane hooks
  drm/i915: Plumb 'dsb' all way to the color commit hooks
  drm/i915/dsb: Use DSB for plane/color management updates

 drivers/gpu/drm/i915/display/i9xx_plane.c     |  22 +-
 drivers/gpu/drm/i915/display/intel_atomic.c   |   5 +-
 .../gpu/drm/i915/display/intel_atomic_plane.c |  49 +--
 .../gpu/drm/i915/display/intel_atomic_plane.h |  19 +-
 drivers/gpu/drm/i915/display/intel_color.c    | 207 ++++++------
 drivers/gpu/drm/i915/display/intel_color.h    |   7 +-
 drivers/gpu/drm/i915/display/intel_crtc.c     |  37 ++-
 drivers/gpu/drm/i915/display/intel_crtc.h     |   5 +
 drivers/gpu/drm/i915/display/intel_cursor.c   | 101 +++---
 drivers/gpu/drm/i915/display/intel_de.h       |  11 +
 drivers/gpu/drm/i915/display/intel_display.c  | 180 ++++++++---
 .../drm/i915/display/intel_display_types.h    |  23 +-
 drivers/gpu/drm/i915/display/intel_dsb.c      | 137 ++++++--
 drivers/gpu/drm/i915/display/intel_dsb.h      |   7 +
 .../drm/i915/display/intel_modeset_setup.c    |   4 +-
 drivers/gpu/drm/i915/display/intel_sprite.c   |  27 +-
 .../drm/i915/display/skl_universal_plane.c    | 305 ++++++++++--------
 drivers/gpu/drm/xe/display/xe_plane_initial.c |   2 +-
 18 files changed, 735 insertions(+), 413 deletions(-)

-- 
2.45.2



More information about the Intel-gfx mailing list