]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
drm/amd/display: Set Cursor Matrix to bypass instead of Input Plane
authorDaniel Sa <daniel.sa@amd.com>
Thu, 4 Jul 2024 17:41:15 +0000 (13:41 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 23 Jul 2024 21:07:13 +0000 (17:07 -0400)
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.stupar@amd.com>
Signed-off-by: Jerry Zuo <jerry.zuo@amd.com>
Signed-off-by: Daniel Sa <daniel.sa@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/dpp/dcn401/dcn401_dpp_cm.c

index d0f8c9ff5232554a1fcb916e57a15f971b71c3a4..92b34fe47f7400a2615a4c8cb7107309a490d172 100644 (file)
@@ -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);
 }