1 From fe14c0f096f58d2569e587e9f4b05d772272bbb4 Mon Sep 17 00:00:00 2001
2 From: Melissa Wen <mwen@igalia.com>
3 Date: Tue, 22 Apr 2025 11:58:11 -0300
4 Subject: Revert "drm/amd/display: Hardware cursor changes color when switched to software cursor"
6 Content-Type: text/plain; charset=UTF-8
7 Content-Transfer-Encoding: 8bit
9 From: Melissa Wen <mwen@igalia.com>
11 commit fe14c0f096f58d2569e587e9f4b05d772272bbb4 upstream.
13 This reverts commit 272e6aab14bbf98d7a06b2b1cd6308a02d4a10a1.
15 Applying degamma curve to the cursor by default breaks Linux userspace
18 On Linux, AMD display manager enables cursor degamma ROM just for
19 implict sRGB on HW versions where degamma is split into two blocks:
20 degamma ROM for pre-defined TFs and `gamma correction` for user/custom
21 curves, and degamma ROM settings doesn't apply to cursor plane.
23 Link: https://gitlab.freedesktop.org/drm/amd/-/issues/1513
24 Link: https://gitlab.freedesktop.org/drm/amd/-/issues/2803
25 Reported-by: Michel Dänzer <michel.daenzer@mailbox.org>
26 Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/4144
27 Signed-off-by: Melissa Wen <mwen@igalia.com>
28 Reviewed-by: Alex Hung <alex.hung@amd.com>
29 Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
30 (cherry picked from commit f6a305d4748801a6c799ae9375b2ecff3aed094b)
31 Cc: stable@vger.kernel.org
32 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
34 drivers/gpu/drm/amd/display/dc/dpp/dcn401/dcn401_dpp_cm.c | 5 +++--
35 1 file changed, 3 insertions(+), 2 deletions(-)
37 --- a/drivers/gpu/drm/amd/display/dc/dpp/dcn401/dcn401_dpp_cm.c
38 +++ b/drivers/gpu/drm/amd/display/dc/dpp/dcn401/dcn401_dpp_cm.c
39 @@ -120,10 +120,11 @@ void dpp401_set_cursor_attributes(
40 enum dc_cursor_color_format color_format = cursor_attributes->color_format;
43 - // DCN4 should always do Cursor degamma for Cursor Color modes
44 if (color_format == CURSOR_MODE_COLOR_PRE_MULTIPLIED_ALPHA ||
45 color_format == CURSOR_MODE_COLOR_UN_PRE_MULTIPLIED_ALPHA) {
47 + if (cursor_attributes->attribute_flags.bits.ENABLE_CURSOR_DEGAMMA) {
52 REG_UPDATE_3(CURSOR0_CONTROL,