From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> 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) 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 | 201 ++++++------ 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 | 198 +++++++++--- .../drm/i915/display/intel_display_types.h | 23 +- drivers/gpu/drm/i915/display/intel_dsb.c | 135 ++++++-- 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, 739 insertions(+), 419 deletions(-) -- 2.44.2