Takashi Iwai 6d1630
From 79601b894849cb6f6d6122e6590f1887ac4a66b3 Mon Sep 17 00:00:00 2001
Takashi Iwai 6d1630
From: Joshua Ashton <joshua@froggi.es>
Takashi Iwai 6d1630
Date: Tue, 10 Jan 2023 20:12:21 +0000
Takashi Iwai 6d1630
Subject: [PATCH] drm/amd/display: Calculate output_color_space after pixel encoding adjustment
Takashi Iwai 6d1630
Git-commit: 79601b894849cb6f6d6122e6590f1887ac4a66b3
Takashi Iwai 6d1630
Patch-mainline: v6.2-rc5
Takashi Iwai 6d1630
References: git-fixes
Takashi Iwai 6d1630
Takashi Iwai 6d1630
Code in get_output_color_space depends on knowing the pixel encoding to
Takashi Iwai 6d1630
determine whether to pick between eg. COLOR_SPACE_SRGB or
Takashi Iwai 6d1630
COLOR_SPACE_YCBCR709 for transparent RGB -> YCbCr 4:4:4 in the driver.
Takashi Iwai 6d1630
Takashi Iwai 6d1630
V2: Fixed patch being accidentally based on a personal feature branch, oops!
Takashi Iwai 6d1630
Takashi Iwai 6d1630
Fixes: ea117312ea9f ("drm/amd/display: Reduce HDMI pixel encoding if max clock is exceeded")
Takashi Iwai 6d1630
Reviewed-by: Melissa Wen <mwen@igalia.com>
Takashi Iwai 6d1630
Signed-off-by: Joshua Ashton <joshua@froggi.es>
Takashi Iwai 6d1630
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Takashi Iwai 6d1630
Cc: stable@vger.kernel.org
Takashi Iwai 6d1630
Acked-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai 6d1630
Takashi Iwai 6d1630
---
Takashi Iwai 6d1630
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 4 ++--
Takashi Iwai 6d1630
 1 file changed, 2 insertions(+), 2 deletions(-)
Takashi Iwai 6d1630
Takashi Iwai 6d1630
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
Takashi Iwai 6d1630
index 74f624ec55e7..c994a5d8c3f5 100644
Takashi Iwai 6d1630
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
Takashi Iwai 6d1630
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
Takashi Iwai 6d1630
@@ -5311,8 +5311,6 @@ static void fill_stream_properties_from_drm_display_mode(
Takashi Iwai 6d1630
 
Takashi Iwai 6d1630
 	timing_out->aspect_ratio = get_aspect_ratio(mode_in);
Takashi Iwai 6d1630
 
Takashi Iwai 6d1630
-	stream->output_color_space = get_output_color_space(timing_out);
Takashi Iwai 6d1630
-
Takashi Iwai 6d1630
 	stream->out_transfer_func->type = TF_TYPE_PREDEFINED;
Takashi Iwai 6d1630
 	stream->out_transfer_func->tf = TRANSFER_FUNCTION_SRGB;
Takashi Iwai 6d1630
 	if (stream->signal == SIGNAL_TYPE_HDMI_TYPE_A) {
Takashi Iwai 6d1630
@@ -5323,6 +5321,8 @@ static void fill_stream_properties_from_drm_display_mode(
Takashi Iwai 6d1630
 			adjust_colour_depth_from_display_info(timing_out, info);
Takashi Iwai 6d1630
 		}
Takashi Iwai 6d1630
 	}
Takashi Iwai 6d1630
+
Takashi Iwai 6d1630
+	stream->output_color_space = get_output_color_space(timing_out);
Takashi Iwai 6d1630
 }
Takashi Iwai 6d1630
 
Takashi Iwai 6d1630
 static void fill_audio_info(struct audio_info *audio_info,
Takashi Iwai 6d1630
-- 
Takashi Iwai 6d1630
2.35.3
Takashi Iwai 6d1630