From a05c4f6285cc84af65e60769d5f9a13cbf5351ba Mon Sep 17 00:00:00 2001 From: Eric Yang Date: Thu, 18 Feb 2016 14:56:52 -0500 Subject: [PATCH 0819/1110] drm/amd/dal: refactor ipp_degamma_mode for HW diag Signed-off-by: Eric Yang Acked-by: Harry Wentland --- .../gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c | 2 +- drivers/gpu/drm/amd/dal/dc/dce110/dce110_ipp_gamma.c | 5 ++++- drivers/gpu/drm/amd/dal/dc/inc/ipp.h | 19 +++---------------- 3 files changed, 8 insertions(+), 18 deletions(-) diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c index a642de4..79ab334 100644 --- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c +++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c @@ -534,7 +534,7 @@ static bool set_gamma_ramp( temp_params, ramp, surface); opp->funcs->opp_program_regamma_pwl(opp, regamma_params); if (ipp) - ipp->funcs->ipp_set_degamma(ipp, IPP_DEGAMMA_MODE_sRGB); + ipp->funcs->ipp_set_degamma(ipp, IPP_DEGAMMA_MODE_HW_sRGB); opp->funcs->opp_set_regamma_mode(opp, OPP_REGAMMA_USER); } else { if (ipp) diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_ipp_gamma.c b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_ipp_gamma.c index dc0ccbb..fb90a6a 100644 --- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_ipp_gamma.c +++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_ipp_gamma.c @@ -64,7 +64,10 @@ bool dce110_ipp_set_degamma( uint32_t value = 0; - uint32_t degamma_type = (mode == IPP_DEGAMMA_MODE_sRGB) ? 1 : 0; + uint32_t degamma_type = (mode == IPP_DEGAMMA_MODE_HW_sRGB) ? 1 : 0; + + ASSERT(mode == IPP_DEGAMMA_MODE_BYPASS || + mode == IPP_DEGAMMA_MODE_USER_PWL); set_reg_field_value( value, diff --git a/drivers/gpu/drm/amd/dal/dc/inc/ipp.h b/drivers/gpu/drm/amd/dal/dc/inc/ipp.h index bffeef5..4599d68 100644 --- a/drivers/gpu/drm/amd/dal/dc/inc/ipp.h +++ b/drivers/gpu/drm/amd/dal/dc/inc/ipp.h @@ -60,22 +60,9 @@ struct ipp_prescale_params { enum ipp_degamma_mode { IPP_DEGAMMA_MODE_BYPASS, - IPP_DEGAMMA_MODE_sRGB -}; - -enum wide_gamut_degamma_mode { - /* 00 - BITS1:0 Bypass */ - WIDE_GAMUT_DEGAMMA_MODE_GRAPHICS_BYPASS, - /* 0x1 - PWL gamma ROM A */ - WIDE_GAMUT_DEGAMMA_MODE_GRAPHICS_PWL_ROM_A, - /* 0x2 - PWL gamma ROM B */ - WIDE_GAMUT_DEGAMMA_MODE_GRAPHICS_PWL_ROM_B, - /* 00 - BITS5:4 Bypass */ - WIDE_GAMUT_DEGAMMA_MODE_OVL_BYPASS, - /* 0x1 - PWL gamma ROM A */ - WIDE_GAMUT_DEGAMMA_MODE_OVL_PWL_ROM_A, - /* 0x2 - PWL gamma ROM B */ - WIDE_GAMUT_DEGAMMA_MODE_OVL_PWL_ROM_B, + IPP_DEGAMMA_MODE_HW_sRGB, + IPP_DEGAMMA_MODE_HW_xvYCC, + IPP_DEGAMMA_MODE_USER_PWL }; -- 2.7.4