Enable advance gamma modes based on client caps. Signed-off-by: Uma Shankar <uma.shankar@xxxxxxxxx> --- 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 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx