drm/i915: Reuse ilk_gamma_mode() on ivb+
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 26 Oct 2022 11:39:03 +0000 (14:39 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 3 Nov 2022 16:16:18 +0000 (18:16 +0200)
Apart from the split gamma mode ivb+ LUTs work just like ilk+ LUTs.
So let's handle the special case, and then just fall back to
ilk_gamma_mode() to avoid having to duplicate the same logic.

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

index 946fb767f3e075bb404cbf818c90140b3a775a3f..435394cad359ed6b9296e3a6c6261121e57f6d7d 100644 (file)
@@ -1521,14 +1521,10 @@ static int ilk_color_check(struct intel_crtc_state *crtc_state)
 
 static u32 ivb_gamma_mode(const struct intel_crtc_state *crtc_state)
 {
-       if (!crtc_state->gamma_enable ||
-           crtc_state_is_legacy_gamma(crtc_state))
-               return GAMMA_MODE_MODE_8BIT;
-       else if (crtc_state->hw.gamma_lut &&
-                crtc_state->hw.degamma_lut)
+       if (crtc_state->hw.degamma_lut && crtc_state->hw.gamma_lut)
                return GAMMA_MODE_MODE_SPLIT;
-       else
-               return GAMMA_MODE_MODE_10BIT;
+
+       return ilk_gamma_mode(crtc_state);
 }
 
 static u32 ivb_csc_mode(const struct intel_crtc_state *crtc_state)