From: Vitaly Prosyak <vitaly.prosyak@amd.com>
Date: Wed, 28 Feb 2018 10:44:54 -0600
Subject: drm/amd/display: Fix handling of linear transfer function
Git-commit: 9eee21376b62bba656533438d2a9f0d966d4e487
Patch-mainline: v4.17-rc1
References: FATE#326289 FATE#326079 FATE#326049 FATE#322398 FATE#326166
Signed-off-by: Vitaly Prosyak <vitaly.prosyak@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: Petr Tesarik <ptesarik@suse.com>
---
drivers/gpu/drm/amd/display/modules/color/color_gamma.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
--- a/drivers/gpu/drm/amd/display/modules/color/color_gamma.c
+++ b/drivers/gpu/drm/amd/display/modules/color/color_gamma.c
@@ -1267,7 +1267,8 @@ bool mod_color_calculate_curve(enum dc_
bool ret = false;
struct pwl_float_data_ex *rgb_regamma = NULL;
- if (trans == TRANSFER_FUNCTION_UNITY) {
+ if (trans == TRANSFER_FUNCTION_UNITY ||
+ trans == TRANSFER_FUNCTION_LINEAR) {
points->end_exponent = 0;
points->x_point_at_y1_red = 1;
points->x_point_at_y1_green = 1;
@@ -1337,7 +1338,8 @@ bool mod_color_calculate_degamma_curve(
bool ret = false;
struct pwl_float_data_ex *rgb_degamma = NULL;
- if (trans == TRANSFER_FUNCTION_UNITY) {
+ if (trans == TRANSFER_FUNCTION_UNITY ||
+ trans == TRANSFER_FUNCTION_LINEAR) {
for (i = 0; i <= MAX_HW_POINTS ; i++) {
points->red[i] = coordinates_x[i].x;