Skip to content

Commit

Permalink
drm/amd/display: Set Cursor Matrix to bypass instead of Input Plane
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Daniel Sa authored and Alex Deucher committed Jul 23, 2024
1 parent be7a6a5 commit acce1eb
Showing 1 changed file with 2 additions and 12 deletions.
14 changes: 2 additions & 12 deletions drivers/gpu/drm/amd/display/dc/dpp/dcn401/dcn401_dpp_cm.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}

0 comments on commit acce1eb

Please sign in to comment.