Message ID | 20240902135342.1050-1-ville.syrjala@linux.intel.com (mailing list archive) |
---|---|
Headers | show |
Series | drm/i915: Use DSB for plane/color management commits | expand |
> -----Original Message----- > From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of Ville > Syrjala > Sent: Monday, September 2, 2024 7:23 PM > To: intel-gfx@lists.freedesktop.org > Subject: [PATCH 00/13] drm/i915: Use DSB for plane/color management > commits > > From: Ville Syrjälä <ville.syrjala@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) > > 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 Considering this patch series is an initial patch series and many things will be fixed later which is added as TODO/FIXME, the above changes looks good to me. For the whole patch series, Reviewed-by: Animesh Manna <animesh.manna@intel.com> > > 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
From: Ville Syrjälä <ville.syrjala@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) 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(-)