From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Restore DSB usage for lodaing the LUTs, and do so properly during vblank to avoid tearing. And also included are some improvements to aid in analyzing DSB issues. There is one undocumented (afaik) hw issue with the legacy LUT that I still need to report to the hw folks. But I have already included what seems like an effective workaround. Ville Syrjälä (13): drm/i915/dsb: Define more DSB registers drm/i915/dsb: Pimp debug/error prints drm/i915/dsb: Split intel_dsb_wait() from intel_dsb_commit() drm/i915/dsb: Introduce intel_dsb_finish() drm/i915/dsb: Dump the DSB command buffer when DSB fails drm/i915/dsb: Allow vblank synchronized DSB execution drm/i915/dsb: Nuke the DSB debug drm/i915/dsb: Skip DSB command buffer setup if we have no LUTs 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: Write each legacy LUT entry twice with DSB drm/i915/dsb: Load LUTs with the DSB drm/i915: Do state check for color management changes drivers/gpu/drm/i915/display/intel_color.c | 46 ++++++++++-- drivers/gpu/drm/i915/display/intel_color.h | 2 + drivers/gpu/drm/i915/display/intel_crtc.c | 4 +- drivers/gpu/drm/i915/display/intel_display.c | 3 + drivers/gpu/drm/i915/display/intel_dsb.c | 70 ++++++++++++++----- drivers/gpu/drm/i915/display/intel_dsb.h | 5 +- .../drm/i915/display/intel_modeset_verify.c | 2 + drivers/gpu/drm/i915/i915_reg.h | 50 ++++++++++++- 8 files changed, 156 insertions(+), 26 deletions(-) -- 2.38.2