diff options
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.patch | 61 |
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 + |