Enable advance gamma modes based on client
caps.

Signed-off-by: Uma Shankar <uma.shan...@intel.com>
---
 drivers/gpu/drm/i915/intel_color.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_color.c 
b/drivers/gpu/drm/i915/intel_color.c
index edf5ff8..36604c16 100644
--- a/drivers/gpu/drm/i915/intel_color.c
+++ b/drivers/gpu/drm/i915/intel_color.c
@@ -926,8 +926,9 @@ static void icl_load_luts(const struct intel_crtc_state 
*crtc_state)
        if ((crtc_state->gamma_mode & GAMMA_MODE_MODE_MASK) ==
            GAMMA_MODE_MODE_8BIT) {
                i9xx_load_luts(crtc_state);
-       } else if (crtc_state->base.gamma_mode_type ==
-                  MULTI_SEGMENTED_GAMMA_MODE_12BIT) {
+       } else if ((crtc_state->base.gamma_mode_type ==
+                  MULTI_SEGMENTED_GAMMA_MODE_12BIT) &&
+                 crtc_state->base.advance_gamma_mode_active) {
                icl_load_gamma_multi_segmented_lut(crtc_state, 0);
        } else {
                bdw_load_lut_10(crtc, gamma_lut, PAL_PREC_INDEX_VALUE(0));
@@ -1352,12 +1353,13 @@ static u32 icl_gamma_mode(struct intel_crtc_state 
*crtc_state)
            !crtc_state->c8_planes)
                gamma_mode |= POST_CSC_GAMMA_ENABLE;
 
-       if (!crtc_state->base.gamma_lut ||
-           crtc_state_is_legacy_gamma(crtc_state))
-               gamma_mode |= GAMMA_MODE_MODE_8BIT;
-       else if (crtc_state->base.gamma_mode_type ==
-                MULTI_SEGMENTED_GAMMA_MODE_12BIT)
+       if (crtc_state->base.gamma_mode_type ==
+               MULTI_SEGMENTED_GAMMA_MODE_12BIT &&
+            crtc_state->base.advance_gamma_mode_active)
                gamma_mode |= GAMMA_MODE_MODE_12BIT_MULTI_SEGMENTED;
+       else if (!crtc_state->base.gamma_lut ||
+                crtc_state_is_legacy_gamma(crtc_state))
+               gamma_mode |= GAMMA_MODE_MODE_8BIT;
        else
                gamma_mode |= GAMMA_MODE_MODE_10BIT;
 
-- 
1.9.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to