[PATCH] drm/edid: Refine HDMI VSDB detect

Lee Shawn C shawn.c.lee at intel.com
Sun Dec 12 15:33:31 UTC 2021


According to CEA-861-F chapter 7.5.4. It says "The VSDB shall contain the
3 bytes of the IEEE OUI as well as any additional payload bytes needed."
Now DRM driver check HDMI OUI but VSDB payload size at least five bytes.
That may caused some HDMI monitors' audio feature can't be enabled.
Because of they only have three bytes payload (OUI only) in VSDB.

Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
Cc: Adam Jackson <ajax at redhat.com>
Cc: Dave Airlie <airlied at redhat.com>
Signed-off-by: Lee Shawn C <shawn.c.lee at intel.com>
---
 drivers/gpu/drm/drm_edid.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 12893e7be89b..5aa4a6bf4a13 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -4205,7 +4205,7 @@ static bool cea_db_is_hdmi_vsdb(const u8 *db)
 	if (cea_db_tag(db) != VENDOR_BLOCK)
 		return false;
 
-	if (cea_db_payload_len(db) < 5)
+	if (cea_db_payload_len(db) < 3)
 		return false;
 
 	return oui(db[3], db[2], db[1]) == HDMI_IEEE_OUI;
-- 
2.31.1



More information about the dri-devel mailing list