From 9bc69971570b63e1d6afb51e6825403897c0200f Mon Sep 17 00:00:00 2001 From: Yi Zhou Date: Mon, 26 Nov 2018 13:35:04 +0800 Subject: [PATCH] hdmitx: add parsing for non-standard dv edid [1/1] PD#SWPL-1968 Problem: some error edid need to be parsed Solution: add parsing for non-standard dv edid Verify: t962e (txlx) Change-Id: Ia952ed59650fd0b1c665ca03175a38c1cf3ae5bb Signed-off-by: Yi Zhou --- drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_edid.c | 6 +++++- include/linux/amlogic/media/vout/vinfo.h | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_edid.c b/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_edid.c index 359f53e..e6d6c33 100644 --- a/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_edid.c +++ b/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_edid.c @@ -799,11 +799,15 @@ static void Edid_ParsingVendSpec(struct rx_cap *pRXCap, } if (ieeeoui != DV_IEEE_OUI) { - dv->block_flag = ERROR_LENGTH; + dv->block_flag = ERROR_OUI; return; } dv->ieeeoui = ieeeoui; dv->ver = (dat[pos] >> 5) & 0x7; + if ((dv->ver) > 2) { + dv->block_flag = ERROR_VER; + return; + } /* Refer to DV 2.9 Page 27 */ if (dv->ver == 0) { if (dv->length == 0x19) { diff --git a/include/linux/amlogic/media/vout/vinfo.h b/include/linux/amlogic/media/vout/vinfo.h index 871d9bb..dfafcaf 100644 --- a/include/linux/amlogic/media/vout/vinfo.h +++ b/include/linux/amlogic/media/vout/vinfo.h @@ -168,6 +168,7 @@ enum block_type { ERROR_NULL = 0, ERROR_LENGTH, ERROR_OUI, + ERROR_VER, CORRECT, }; -- 2.7.4