drm/i915: Disable DSB usage specifically for LUTs
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 23 Nov 2022 15:26:35 +0000 (17:26 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 13 Dec 2022 03:21:01 +0000 (05:21 +0200)
The DSB has problem loading the LUTs at the moment. Some
of that is due to the palette anti collision logic, some
due to what seem real hw issues. Disable it the whole
thing locally in the color management code for now.

Note that we currently have this weird situation where on
adl+ we load parts of the LUT with DSB and parts with mmio.
That is due to the fact that only some parts of the LUT code
are using the DSB register write functions (ivb_load_lut_ext*()),
while the rest is using pure mmio (bdw_load_lut_10()). So now
we'll go back to pure mmio temporarily, until the DSB issues
get fixed (at which point we should be going for pure DSB).

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20221123152638.20622-11-ville.syrjala@linux.intel.com
Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
drivers/gpu/drm/i915/display/intel_color.c

index 2715f1b617e10ed945e0478b89c2c4c2a3f280db..9978d21f1634796fe3ae458029cfd42a43c474fc 100644 (file)
@@ -1394,6 +1394,9 @@ void intel_color_prepare_commit(struct intel_crtc_state *crtc_state)
 {
        struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
 
+       /* FIXME DSB has issues loading LUTs, disable it for now */
+       return;
+
        crtc_state->dsb = intel_dsb_prepare(crtc);
 }