b9fba16f695737c0119d99b3088277a830e412f2
[openwrt/staging/blocktrron.git] /
1 From 4b89e6e55f5c04f836b92ffbeef7c4c8a545adfd Mon Sep 17 00:00:00 2001
2 From: Matthias Reichl <hias@horus.com>
3 Date: Sat, 11 Mar 2023 22:41:17 +0100
4 Subject: [PATCH 0037/1085] drm/vc4: drop unnecessary and harmful HDMI RGB
5 format check
6
7 RGB is a mandatory format for all DVI and HDMI monitors so there's
8 no need to check for presence of the DRM_COLOR_FORMAT_RGB444 bit in
9 color_formats.
10
11 More importantly this checks breaks working around EDID issues with
12 eg video=HDMI-A-1:1024x768D or drm.edid_firmware=edid/1024x768.bin
13 as the RGB444 bit is only set when a valid EDID with digital bit set in
14 the input byte is present - which isn't the case when no EDID can be
15 read from the display device at all or with the in-built kernel EDIDs,
16 which mimic analog (VGA) displays without the digital bit set.
17
18 So drop the check, if we output video on the HDMI connector we can
19 assume that the display can accept 8bit RGB.
20
21 Signed-off-by: Matthias Reichl <hias@horus.com>
22 ---
23 drivers/gpu/drm/vc4/vc4_hdmi.c | 3 ---
24 1 file changed, 3 deletions(-)
25
26 --- a/drivers/gpu/drm/vc4/vc4_hdmi.c
27 +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
28 @@ -1958,9 +1958,6 @@ vc4_hdmi_sink_supports_format_bpc(const
29 case VC4_HDMI_OUTPUT_RGB:
30 drm_dbg(dev, "RGB Format, checking the constraints.\n");
31
32 - if (!(info->color_formats & DRM_COLOR_FORMAT_RGB444))
33 - return false;
34 -
35 if (bpc == 10 && !(info->edid_hdmi_rgb444_dc_modes & DRM_EDID_HDMI_DC_30)) {
36 drm_dbg(dev, "10 BPC but sink doesn't support Deep Color 30.\n");
37 return false;