From: Tony Cheng <tony.cheng@amd.com>
Date: Fri, 23 Dec 2016 07:20:53 -0500
Subject: drm/amd/display: debug option to disable color module fucntionality
Git-commit: e12078c56c24894b07cd3aae43788b90d6ea390e
Patch-mainline: v4.15-rc1
References: FATE#326289 FATE#326079 FATE#326049 FATE#322398 FATE#326166
Signed-off-by: Tony Cheng <tony.cheng@amd.com>
Reviewed-by: Yongqiang Sun <yongqiang.sun@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/dc/core/dc.c | 13 +++++++------
drivers/gpu/drm/amd/display/dc/dc.h | 1 +
2 files changed, 8 insertions(+), 6 deletions(-)
--- a/drivers/gpu/drm/amd/display/dc/core/dc.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
@@ -1452,8 +1452,11 @@ void dc_update_surfaces_for_target(struc
}
}
- if (updates[i].gamma && updates[i].gamma !=
- surface->public.gamma_correction) {
+ if (dc->debug.disable_color_module)
+ continue; /* skip below color updates */
+
+ if (updates[i].gamma &&
+ updates[i].gamma != surface->public.gamma_correction) {
if (surface->public.gamma_correction != NULL)
dc_gamma_release(surface->public.
gamma_correction);
@@ -1464,8 +1467,7 @@ void dc_update_surfaces_for_target(struc
}
if (updates[i].in_transfer_func &&
- updates[i].in_transfer_func !=
- surface->public.in_transfer_func) {
+ updates[i].in_transfer_func != surface->public.in_transfer_func) {
if (surface->public.in_transfer_func != NULL)
dc_transfer_func_release(
surface->public.
@@ -1478,8 +1480,7 @@ void dc_update_surfaces_for_target(struc
}
if (updates[i].out_transfer_func &&
- updates[i].out_transfer_func !=
- stream->public.out_transfer_func) {
+ updates[i].out_transfer_func != stream->public.out_transfer_func) {
if (stream->public.out_transfer_func != NULL)
dc_transfer_func_release(
stream->public.
--- a/drivers/gpu/drm/amd/display/dc/dc.h
+++ b/drivers/gpu/drm/amd/display/dc/dc.h
@@ -148,6 +148,7 @@ struct dc_debug {
bool disable_clock_gate;
bool disable_dmcu;
bool disable_hdmi_deep_color;
+ bool disable_color_module;
};
struct dc {