Merge tag 'video-updates-for-2019.04-rc1' of git://git.denx.de/u-boot-video
authorTom Rini <trini@konsulko.com>
Thu, 31 Jan 2019 21:07:37 +0000 (16:07 -0500)
committerTom Rini <trini@konsulko.com>
Thu, 31 Jan 2019 21:07:37 +0000 (16:07 -0500)
- ihs and imx driver fixes
- relax EDID validation checks for 0 hsync/vsync
  pulse width (support some quirky displays)

arch/arm/mach-imx/video.c
drivers/video/ihs_video_out.c
drivers/video/videomodes.c

index b40ce53405ae2af765549cd02c85540199781d61..953fe53cb49a3a0d4a80e2e03f34cf29c3e21688 100644 (file)
@@ -7,7 +7,7 @@
 int board_video_skip(void)
 {
        int i;
-       int ret;
+       int ret = 0;
        char const *panel = env_get("panel");
 
        if (!panel) {
@@ -50,7 +50,7 @@ int board_video_skip(void)
                return -EINVAL;
        }
 
-       return 0;
+       return ret;
 }
 
 #ifdef CONFIG_IMX_HDMI
index 5cdf17aec144de6587f94b891b5c275018fd5bbc..0af7c2bf44a964cad3c38ea0d1d6c81f2fd8ebc4 100644 (file)
@@ -238,8 +238,8 @@ int ihs_video_out_probe(struct udevice *dev)
        int res;
 
        res = regmap_init_mem(dev_ofnode(dev), &priv->map);
-       if (!res) {
-               debug("%s: Could initialize regmap (err = %d)\n", dev->name,
+       if (res) {
+               debug("%s: Could not initialize regmap (err = %d)\n", dev->name,
                      res);
                return res;
        }
@@ -322,7 +322,7 @@ int ihs_video_out_probe(struct udevice *dev)
        }
 
        res = display_enable(priv->video_tx, 8, &timing);
-       if (res) {
+       if (res && res != -EIO) { /* Ignore missing DP sink error */
                debug("%s: Could not enable the display (err = %d)\n",
                      dev->name, res);
                return res;
index 74bafff011d9d81c36dd09f80f46f261a1dd6993..1cfeaa980fa52fc894bc3e2e38582aadaaef96e0 100644 (file)
@@ -396,9 +396,7 @@ int video_edid_dtd_to_ctfb_res_modes(struct edid_detailed_timing *t,
            EDID_DETAILED_TIMING_VERTICAL_ACTIVE(*t) == 0 ||
            EDID_DETAILED_TIMING_VERTICAL_BLANKING(*t) == 0 ||
            EDID_DETAILED_TIMING_HSYNC_OFFSET(*t) == 0 ||
-           EDID_DETAILED_TIMING_HSYNC_PULSE_WIDTH(*t) == 0 ||
            EDID_DETAILED_TIMING_VSYNC_OFFSET(*t) == 0 ||
-           EDID_DETAILED_TIMING_VSYNC_PULSE_WIDTH(*t) == 0 ||
            /* 3d formats are not supported*/
            EDID_DETAILED_TIMING_FLAG_STEREO(*t) != 0)
                return -EINVAL;