From: Yi Zhou Date: Mon, 26 Nov 2018 05:35:04 +0000 (+0800) Subject: hdmitx: add parsing for non-standard dv edid [1/1] X-Git-Tag: hardkernel-4.9.236-104~2093 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9bc69971570b63e1d6afb51e6825403897c0200f;p=platform%2Fkernel%2Flinux-amlogic.git 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 --- 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, };