On Tue, Jun 06, 2023 at 10:14:45PM +0300, Ville Syrjala wrote: > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > Another attempt at re-enabling DSB based LUT loads. > > The main change from the last attempt is that we now > use the DSB's DEwake mechanism to combat PkgC latency > which was causing the LUT to not always load correctly > (due to the anti-collision logic not working correctly > for DSB LUT accesses). > > I also got the non-posted writes working correctly > which lets us load the legacy LUT without the > "write each entry twice" trick I used previously. > > Ville Syrjälä (19): > drm/i915: Constify LUT entries in checker > drm/i915/dsb: Use non-locked register access > drm/i915/dsb: Dump the DSB command buffer when DSB fails > drm/i915/dsb: Define more DSB bits > drm/i915/dsb: Define the contents of some intstructions bit better > drm/i915/dsb: Avoid corrupting the first register write > drm/i915/dsb: Don't use indexed writes when byte enables are not all > set > drm/i915/dsb: Introduce intel_dsb_noop() > drm/i915/dsb: Introduce intel_dsb_reg_write_masked() > drm/i915/dsb: Add support for non-posted DSB registers writes > drm/i915/dsb: Don't use DSB to load the LUTs during full modeset > drm/i915/dsb: Load LUTs using the DSB during vblank > drm/i915/dsb: Use non-posted register writes for legacy LUT > drm/i915/dsb: Evade transcoder undelayed vblank when using DSB > drm/i915: Introduce skl_watermark_max_latency() > drm/i915: Introudce intel_crtc_scanline_to_hw() > drm/i915/dsb: Use DEwake to combat PkgC latency Everything up to here pushed now. > drm/i915/dsb: Re-instate DSB for LUT updates > drm/i915: Do state check for color management changes I'll do another repost of these two to get a fresh CI run, just in case. Thanks for the reviews. > > drivers/gpu/drm/i915/display/intel_color.c | 58 +++-- > drivers/gpu/drm/i915/display/intel_color.h | 2 + > drivers/gpu/drm/i915/display/intel_crtc.c | 10 +- > drivers/gpu/drm/i915/display/intel_display.c | 3 + > drivers/gpu/drm/i915/display/intel_dsb.c | 217 +++++++++++++++--- > drivers/gpu/drm/i915/display/intel_dsb.h | 9 +- > drivers/gpu/drm/i915/display/intel_dsb_regs.h | 31 +++ > .../drm/i915/display/intel_modeset_verify.c | 2 + > drivers/gpu/drm/i915/display/intel_vblank.c | 14 ++ > drivers/gpu/drm/i915/display/intel_vblank.h | 1 + > drivers/gpu/drm/i915/display/skl_watermark.c | 14 ++ > drivers/gpu/drm/i915/display/skl_watermark.h | 2 + > 12 files changed, 317 insertions(+), 46 deletions(-) > > -- > 2.39.3 -- Ville Syrjälä Intel