HDMI: fix filter feature SUPPORT_TMDS_600M error:
authorZheng Yang <zhengyang@rock-chips.com>
Mon, 9 Feb 2015 02:40:40 +0000 (10:40 +0800)
committerZheng Yang <zhengyang@rock-chips.com>
Mon, 9 Feb 2015 02:40:40 +0000 (10:40 +0800)
If soc is not support feature SUPPORT_TMDS_600M,
or current EDID information is not support the
feature, we should not show the corresponding
option, such as 3840x2160p-60.

Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
drivers/video/rockchip/hdmi/rockchip-hdmi-lcdc.c

index 1bd26e7e7f4fdd9f16d4590d2571aa024077a7c0..56dd6aa0705f7f54e61b3cf4242a98b588a9845e 100644 (file)
@@ -447,10 +447,10 @@ 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) &&
-                                   hdmi_mode[i].mode.pixclock > 340000000 &&
-                                   edid->maxtmdsclock < 340000000)
+                               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)