HDMI: fix feature SUPPORT_TMDS_600M filter error.

For some sink device, it's max tmdsclk is only 300M, but
	it support 4K YUV420 mode, so it can be filted by feature
	SUPPORT_TMDS_600M under current code.

Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
This commit is contained in:
Zheng Yang
2015-03-25 18:46:56 +08:00
parent 428053ce3e
commit 04aca3a563

View File

@@ -450,17 +450,16 @@ static void hdmi_sort_modelist(struct hdmi_edid *edid, int feature)
vic = modelist->vic & HDMI_VIC_MASK;
if (vic == hdmi_mode[i].vic ||
vic == hdmi_mode[i].vic_2nd) {
if ((((feature & SUPPORT_TMDS_600M) == 0 &&
!(modelist->vic & HDMI_VIDEO_YUV420)) ||
edid->maxtmdsclock < 340000000) &&
hdmi_mode[i].mode.pixclock > 340000000)
continue;
if ((feature & SUPPORT_4K) == 0 &&
hdmi_mode[i].mode.xres >= 3840)
continue;
if ((feature & SUPPORT_4K_4096) == 0 &&
hdmi_mode[i].mode.xres == 4096)
continue;
if ((feature & SUPPORT_TMDS_600M) == 0 &&
!(modelist->vic & HDMI_VIDEO_YUV420) &&
hdmi_mode[i].mode.pixclock > 340000000)
continue;
if ((modelist->vic & HDMI_VIDEO_YUV420) &&
(feature & SUPPORT_YUV420) == 0)
continue;