aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2082-drm-amd-display-Gamma-logic-limitations-causing-unin.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2082-drm-amd-display-Gamma-logic-limitations-causing-unin.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2082-drm-amd-display-Gamma-logic-limitations-causing-unin.patch61
1 files changed, 61 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2082-drm-amd-display-Gamma-logic-limitations-causing-unin.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2082-drm-amd-display-Gamma-logic-limitations-causing-unin.patch
new file mode 100644
index 00000000..47e9705f
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2082-drm-amd-display-Gamma-logic-limitations-causing-unin.patch
@@ -0,0 +1,61 @@
+From 38fa9b48953f3dccbffb74578e2c3eea3af021c3 Mon Sep 17 00:00:00 2001
+From: Harmanprit Tatla <harmanprit.tatla@amd.com>
+Date: Mon, 27 May 2019 14:22:30 -0400
+Subject: [PATCH 2082/2940] drm/amd/display: Gamma logic limitations causing
+ unintended use of RAM over ROM.
+
+[Why]
+Our existing logic in deciding whether to use RAM or ROM
+depends on whether we are dealing with an identity gamma ramp.
+
+[How]
+In addition to the is_identity flag
+a new is_logical_identity flag has been
+added. The is_identity flag now denotes
+whether the OS gamma is an RGB256 identity
+and the new logical identity will inidicate
+that the given gamma ramp regardless of its
+type is identity.
+
+Signed-off-by: Harmanprit Tatla <harmanprit.tatla@amd.com>
+Reviewed-by: Krunoslav Kovac <Krunoslav.Kovac@amd.com>
+Acked-by: Anthony Koo <Anthony.Koo@amd.com>
+Acked-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
+---
+ drivers/gpu/drm/amd/display/dc/dc_hw_types.h | 4 ++++
+ drivers/gpu/drm/amd/display/modules/color/color_gamma.c | 3 ++-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/amd/display/dc/dc_hw_types.h b/drivers/gpu/drm/amd/display/dc/dc_hw_types.h
+index 479c5f8352f9..821d4f260764 100644
+--- a/drivers/gpu/drm/amd/display/dc/dc_hw_types.h
++++ b/drivers/gpu/drm/amd/display/dc/dc_hw_types.h
+@@ -453,7 +453,11 @@ struct dc_gamma {
+ /* private to DC core */
+ struct dc_context *ctx;
+
++ /* is_identity is used for RGB256 gamma identity which can also be programmed in INPUT_LUT.
++ * is_logical_identity indicates the given gamma ramp regardless of type is identity.
++ */
+ bool is_identity;
++ bool is_logical_identity;
+ };
+
+ /* Used by both ipp amd opp functions*/
+diff --git a/drivers/gpu/drm/amd/display/modules/color/color_gamma.c b/drivers/gpu/drm/amd/display/modules/color/color_gamma.c
+index 8601d371776e..3f413fb9f2ce 100644
+--- a/drivers/gpu/drm/amd/display/modules/color/color_gamma.c
++++ b/drivers/gpu/drm/amd/display/modules/color/color_gamma.c
+@@ -1569,7 +1569,8 @@ bool mod_color_calculate_regamma_params(struct dc_transfer_func *output_tf,
+ output_tf->tf == TRANSFER_FUNCTION_SRGB) {
+ if (ramp == NULL)
+ return true;
+- if (ramp->is_identity || (!mapUserRamp && ramp->type == GAMMA_RGB_256))
++ if ((ramp->is_logical_identity) ||
++ (!mapUserRamp && ramp->type == GAMMA_RGB_256))
+ return true;
+ }
+
+--
+2.17.1
+