diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/0819-drm-amd-dal-refactor-ipp_degamma_mode-for-HW-diag.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/0819-drm-amd-dal-refactor-ipp_degamma_mode-for-HW-diag.patch | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/files/0819-drm-amd-dal-refactor-ipp_degamma_mode-for-HW-diag.patch b/common/recipes-kernel/linux/files/0819-drm-amd-dal-refactor-ipp_degamma_mode-for-HW-diag.patch new file mode 100644 index 00000000..40367932 --- /dev/null +++ b/common/recipes-kernel/linux/files/0819-drm-amd-dal-refactor-ipp_degamma_mode-for-HW-diag.patch @@ -0,0 +1,75 @@ +From a05c4f6285cc84af65e60769d5f9a13cbf5351ba Mon Sep 17 00:00:00 2001 +From: Eric Yang <eric.yang2@amd.com> +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 <eric.yang2@amd.com> +Acked-by: Harry Wentland <harry.wentland@amd.com> +--- + .../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 + |