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

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

 



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@xxxxxxxxx>
Cc: Shawn C Lee <shawn.c.lee@xxxxxxxxx>

Signed-off-by: Cooper Chiou <cooper.chiou@xxxxxxxxx>
---
 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




[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux