aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0819-drm-amd-dal-refactor-ipp_degamma_mode-for-HW-diag.patch
diff options
context:
space:
mode:
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.patch75
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
+