From: Daniel Sa <daniel...@amd.com>

why:
When the cursor disappears/reappears on fullscreen video, there is a
short transitional period where the cursor's color matrix is using the
same format as the video plane. This sets the cursor to the wrong color
momentarily before the UI plane appears, correcting the color.

how:
Instead of defaulting to using the color space from the input plane,
default to bypass mode.

Reviewed-by: Nevenko Stupar <nevenko.stu...@amd.com>
Signed-off-by: Jerry Zuo <jerry....@amd.com>
Signed-off-by: Daniel Sa <daniel...@amd.com>
---
 .../drm/amd/display/dc/dpp/dcn401/dcn401_dpp_cm.c  | 14 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/dpp/dcn401/dcn401_dpp_cm.c 
b/drivers/gpu/drm/amd/display/dc/dpp/dcn401/dcn401_dpp_cm.c
index d0f8c9ff5232..92b34fe47f74 100644
--- a/drivers/gpu/drm/amd/display/dc/dpp/dcn401/dcn401_dpp_cm.c
+++ b/drivers/gpu/drm/amd/display/dc/dpp/dcn401/dcn401_dpp_cm.c
@@ -246,16 +246,6 @@ void dpp401_set_cursor_matrix(
        enum dc_color_space color_space,
        struct dc_csc_transform cursor_csc_color_matrix)
 {
-       struct dpp_input_csc_matrix cursor_tbl_entry;
-       unsigned int i;
-
-       if (cursor_csc_color_matrix.enable_adjustment == true) {
-               for (i = 0; i < 12; i++)
-                       cursor_tbl_entry.regval[i] = 
cursor_csc_color_matrix.matrix[i];
-
-               cursor_tbl_entry.color_space = color_space;
-               dpp401_program_cursor_csc(dpp_base, color_space, 
&cursor_tbl_entry);
-       } else {
-               dpp401_program_cursor_csc(dpp_base, color_space, NULL);
-       }
+       //Since we don't have cursor matrix information, force bypass mode by 
passing in unknown color space
+       dpp401_program_cursor_csc(dpp_base, COLOR_SPACE_UNKNOWN, NULL);
 }
-- 
2.34.1

Reply via email to