summaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2022-11-23 17:26:35 +0200
committerVille Syrjälä <ville.syrjala@linux.intel.com>2022-12-13 05:21:01 +0200
commit2487ae0bcb53a7d4180c551c02b1f318ea590c84 (patch)
tree0eb59e3f0e9cc3e2066bd56273a36c18536b9980 /drivers/gpu
parentb358c3b98813b1557588a11c894b22915251a2ce (diff)
downloadlinux-2487ae0bcb53a7d4180c551c02b1f318ea590c84.tar.gz
linux-2487ae0bcb53a7d4180c551c02b1f318ea590c84.tar.bz2
linux-2487ae0bcb53a7d4180c551c02b1f318ea590c84.zip
drm/i915: Disable DSB usage specifically for LUTs
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>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/i915/display/intel_color.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_color.c b/drivers/gpu/drm/i915/display/intel_color.c
index 2715f1b617e1..9978d21f1634 100644
--- a/drivers/gpu/drm/i915/display/intel_color.c
+++ b/drivers/gpu/drm/i915/display/intel_color.c
@@ -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);
}