Patch "drm: bridge: dw_hdmi: fix preference of RGB modes over YUV420" has been added to the 5.15-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    drm: bridge: dw_hdmi: fix preference of RGB modes over YUV420

to the 5.15-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     drm-bridge-dw_hdmi-fix-preference-of-rgb-modes-over-.patch
and it can be found in the queue-5.15 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit fa410bddfa2d422c2fad4a3f1b7bf07f348c5446
Author: Guillaume BRUN <the.cheaterman@xxxxxxxxx>
Date:   Wed Nov 16 15:35:23 2022 +0100

    drm: bridge: dw_hdmi: fix preference of RGB modes over YUV420
    
    [ Upstream commit d3d6b1bf85aefe0ebc0624574b3bb62f0693914c ]
    
    Cheap monitors sometimes advertise YUV modes they don't really have
    (HDMI specification mandates YUV support so even monitors without actual
    support will often wrongfully advertise it) which results in YUV matches
    and user forum complaints of a red tint to light colour display areas in
    common desktop environments.
    
    Moving the default RGB fall-back before YUV selection results in RGB
    mode matching in most cases, reducing complaints.
    
    Fixes: 6c3c719936da ("drm/bridge: synopsys: dw-hdmi: add bus format negociation")
    Signed-off-by: Guillaume BRUN <the.cheaterman@xxxxxxxxx>
    Tested-by: Christian Hewitt <christianshewitt@xxxxxxxxx>
    Reviewed-by: Robert Foss <robert.foss@xxxxxxxxxx>
    Signed-off-by: Neil Armstrong <neil.armstrong@xxxxxxxxxx>
    Link: https://patchwork.freedesktop.org/patch/msgid/20221116143523.2126-1-the.cheaterman@xxxxxxxxx
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
index d3129a3e6ab7..8bb403bc712a 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
@@ -2594,6 +2594,9 @@ static u32 *dw_hdmi_bridge_atomic_get_output_bus_fmts(struct drm_bridge *bridge,
 	 * if supported. In any case the default RGB888 format is added
 	 */
 
+	/* Default 8bit RGB fallback */
+	output_fmts[i++] = MEDIA_BUS_FMT_RGB888_1X24;
+
 	if (max_bpc >= 16 && info->bpc == 16) {
 		if (info->color_formats & DRM_COLOR_FORMAT_YCRCB444)
 			output_fmts[i++] = MEDIA_BUS_FMT_YUV16_1X48;
@@ -2627,9 +2630,6 @@ static u32 *dw_hdmi_bridge_atomic_get_output_bus_fmts(struct drm_bridge *bridge,
 	if (info->color_formats & DRM_COLOR_FORMAT_YCRCB444)
 		output_fmts[i++] = MEDIA_BUS_FMT_YUV8_1X24;
 
-	/* Default 8bit RGB fallback */
-	output_fmts[i++] = MEDIA_BUS_FMT_RGB888_1X24;
-
 	*num_output_fmts = i;
 
 	return output_fmts;



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux