[Intel-gfx] [PATCH] drm/edid: filter DisplayID v2.0 CTA block in audio detection

Cooper Chiou cooper.chiou at intel.com
Mon Mar 21 04:43:30 UTC 2022


In DisplayID v2.0 CTS data block 0x81 case, there is no any audio
information definition, but drm_detect_monitor_audio didn't filter
it so that it caused eDP dummy audio card be detected improperly.

We observed this issue on some AUO/BOE eDP panel with DID v2.0 CTA
block, and fix issue by adding filter for edid_ext[0]=DATA_BLOCK_CTA
case.

Cc: Jani Nikula <jani.nikula at intel.com>
Cc: Shawn C Lee <shawn.c.lee at intel.com>

Signed-off-by: Cooper Chiou <cooper.chiou 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 f5f5de362ff2..6c9ae4b130bd 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -4845,7 +4845,7 @@ bool drm_detect_monitor_audio(struct edid *edid)
 	int start_offset, end_offset;
 
 	edid_ext = drm_find_cea_extension(edid);
-	if (!edid_ext)
+	if (!edid_ext || (edid_ext[0] == DATA_BLOCK_CTA))
 		goto end;
 
 	has_audio = ((edid_ext[3] & EDID_BASIC_AUDIO) != 0);
-- 
2.17.1



More information about the Intel-gfx mailing list