diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/1072-drm-amd-display-Fix-disabled-cursor-on-top-screen-ed.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.19.8/1072-drm-amd-display-Fix-disabled-cursor-on-top-screen-ed.patch | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/1072-drm-amd-display-Fix-disabled-cursor-on-top-screen-ed.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/1072-drm-amd-display-Fix-disabled-cursor-on-top-screen-ed.patch new file mode 100644 index 00000000..a34b58db --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/1072-drm-amd-display-Fix-disabled-cursor-on-top-screen-ed.patch @@ -0,0 +1,57 @@ +From 40477654e9809771faaf05d2fd9eaf2836ba6023 Mon Sep 17 00:00:00 2001 +From: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> +Date: Tue, 11 Dec 2018 12:35:56 -0500 +Subject: [PATCH 1072/2940] drm/amd/display: Fix disabled cursor on top screen + edge + +[Why] +The cursor vanishes when touching the top of edge of the screen for +Raven on Linux. + +This occurs because the cursor height is not taken into account when +deciding to disable the cursor. + +[How] +Factor in the cursor height into the cursor calculations - and mimic +the existing x position calculations. + +Fixes: 94a4ffd1d40b ("drm/amd/display: fix PIP bugs on Dal3") + +Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> +Reviewed-by: Harry Wentland <Harry.Wentland@amd.com> +Acked-by: Leo Li <sunpeng.li@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.c | 2 +- + drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hubp.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.c +index dcb3c5530236..cd1ebe57ed59 100644 +--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.c ++++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.c +@@ -463,7 +463,7 @@ void dpp1_set_cursor_position( + if (src_y_offset >= (int)param->viewport.height) + cur_en = 0; /* not visible beyond bottom edge*/ + +- if (src_y_offset < 0) ++ if (src_y_offset + (int)height <= 0) + cur_en = 0; /* not visible beyond top edge*/ + + REG_UPDATE(CURSOR0_CONTROL, +diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hubp.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hubp.c +index e24ea6146a29..fae62474a4d1 100644 +--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hubp.c ++++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hubp.c +@@ -1140,7 +1140,7 @@ void hubp1_cursor_set_position( + if (src_y_offset >= (int)param->viewport.height) + cur_en = 0; /* not visible beyond bottom edge*/ + +- if (src_y_offset < 0) //+ (int)hubp->curs_attr.height ++ if (src_y_offset + (int)hubp->curs_attr.height <= 0) + cur_en = 0; /* not visible beyond top edge*/ + + if (cur_en && REG_READ(CURSOR_SURFACE_ADDRESS) == 0) +-- +2.17.1 + |