drm/i915: Polish CHV .load_luts() a bit
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 7 Nov 2019 15:17:15 +0000 (17:17 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 3 Mar 2020 17:26:23 +0000 (19:26 +0200)
It irks me to use crtc_state_is_legacy_gamma() inside the guts
of the CHV color management code. Let's get rid of it and instead
just consult cgm_mode to figure out if we want to enable the pipe
gamma or the CGM gamma.

Also CHV display engine is based on i965/g4x so we should fall back
to the i965 path when the CGM gamma is not used.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191107151725.10507-3-ville.syrjala@linux.intel.com
Reviewed-by: Swati Sharma <swati2.sharma@intel.com>
drivers/gpu/drm/i915/display/intel_color.c

index 36dd52d2a9ee099ecff295f110ff586bdf74c94e..98aefeebda28ef904556c3ced7d52d246c9e3883 100644 (file)
@@ -1025,16 +1025,13 @@ static void chv_load_luts(const struct intel_crtc_state *crtc_state)
 
        cherryview_load_csc_matrix(crtc_state);
 
-       if (crtc_state_is_legacy_gamma(crtc_state)) {
-               i9xx_load_luts(crtc_state);
-               return;
-       }
-
-       if (degamma_lut)
+       if (crtc_state->cgm_mode & CGM_PIPE_MODE_DEGAMMA)
                chv_load_cgm_degamma(crtc, degamma_lut);
 
-       if (gamma_lut)
+       if (crtc_state->cgm_mode & CGM_PIPE_MODE_GAMMA)
                chv_load_cgm_gamma(crtc, gamma_lut);
+       else
+               i965_load_luts(crtc_state);
 }
 
 void intel_color_load_luts(const struct intel_crtc_state *crtc_state)