mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-24 11:16:51 +00:00
linux (RPi): add patch to fix color format check in vc4_hdmi
This fixes "no video" issue when working around EDID problems with eg video=... kernel command line parameter. Signed-off-by: Matthias Reichl <hias@horus.com>
This commit is contained in:
parent
dfc23bf03e
commit
cbc7d3e75c
@ -0,0 +1,41 @@
|
||||
From affc6fdac5376701ea468270af1b6fd9ca7616be Mon Sep 17 00:00:00 2001
|
||||
From: Matthias Reichl <hias@horus.com>
|
||||
Date: Sat, 11 Mar 2023 22:41:17 +0100
|
||||
Subject: [PATCH] drm/vc4: drop unnecessary and harmful HDMI RGB format check
|
||||
|
||||
RGB is a mandatory format for all DVI and HDMI monitors so there's
|
||||
no need to check for presence of the DRM_COLOR_FORMAT_RGB444 bit in
|
||||
color_formats.
|
||||
|
||||
More importantly this checks breaks working around EDID issues with
|
||||
eg video=HDMI-A-1:1024x768D or drm.edid_firmware=edid/1024x768.bin
|
||||
as the RGB444 bit is only set when a valid EDID with digital bit set in
|
||||
the input byte is present - which isn't the case when no EDID can be
|
||||
read from the display device at all or with the in-built kernel EDIDs,
|
||||
which mimic analog (VGA) displays without the digital bit set.
|
||||
|
||||
So drop the check, if we output video on the HDMI connector we can
|
||||
assume that the display can accept 8bit RGB.
|
||||
|
||||
Signed-off-by: Matthias Reichl <hias@horus.com>
|
||||
---
|
||||
drivers/gpu/drm/vc4/vc4_hdmi.c | 3 ---
|
||||
1 file changed, 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c
|
||||
index bd762b4e3e8f2..3c60c93c0f888 100644
|
||||
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
|
||||
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
|
||||
@@ -1962,9 +1962,6 @@ vc4_hdmi_sink_supports_format_bpc(const struct vc4_hdmi *vc4_hdmi,
|
||||
case VC4_HDMI_OUTPUT_RGB:
|
||||
drm_dbg(dev, "RGB Format, checking the constraints.\n");
|
||||
|
||||
- if (!(info->color_formats & DRM_COLOR_FORMAT_RGB444))
|
||||
- return false;
|
||||
-
|
||||
if (bpc == 10 && !(info->edid_hdmi_rgb444_dc_modes & DRM_EDID_HDMI_DC_30)) {
|
||||
drm_dbg(dev, "10 BPC but sink doesn't support Deep Color 30.\n");
|
||||
return false;
|
||||
--
|
||||
2.39.2
|
||||
|
Loading…
x
Reference in New Issue
Block a user