Commit 8c2b759e authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'fbdev-fixes-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux

Pull two fbdev fixes from Tomi Valkeinen:
 - OMAP: fix analog tv-out when using omapdrm
 - fsl: Fix kernel crash when diu_ops is not implemented

* tag 'fbdev-fixes-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux:
  OMAPDSS: fix timings for VENC to match what omapdrm expects
  video: fbdev: fsl: Fix kernel crash when diu_ops is not implemented
parents 5fab517d a54c1ddb
...@@ -479,7 +479,10 @@ static enum fsl_diu_monitor_port fsl_diu_name_to_port(const char *s) ...@@ -479,7 +479,10 @@ static enum fsl_diu_monitor_port fsl_diu_name_to_port(const char *s)
port = FSL_DIU_PORT_DLVDS; port = FSL_DIU_PORT_DLVDS;
} }
return diu_ops.valid_monitor_port(port); if (diu_ops.valid_monitor_port)
port = diu_ops.valid_monitor_port(port);
return port;
} }
/* /*
...@@ -1915,6 +1918,14 @@ static int __init fsl_diu_init(void) ...@@ -1915,6 +1918,14 @@ static int __init fsl_diu_init(void)
#else #else
monitor_port = fsl_diu_name_to_port(monitor_string); monitor_port = fsl_diu_name_to_port(monitor_string);
#endif #endif
/*
* Must to verify set_pixel_clock. If not implement on platform,
* then that means that there is no platform support for the DIU.
*/
if (!diu_ops.set_pixel_clock)
return -ENODEV;
pr_info("Freescale Display Interface Unit (DIU) framebuffer driver\n"); pr_info("Freescale Display Interface Unit (DIU) framebuffer driver\n");
#ifdef CONFIG_NOT_COHERENT_CACHE #ifdef CONFIG_NOT_COHERENT_CACHE
......
...@@ -275,6 +275,12 @@ const struct omap_video_timings omap_dss_pal_timings = { ...@@ -275,6 +275,12 @@ const struct omap_video_timings omap_dss_pal_timings = {
.vbp = 41, .vbp = 41,
.interlace = true, .interlace = true,
.hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
.vsync_level = OMAPDSS_SIG_ACTIVE_LOW,
.data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
.de_level = OMAPDSS_SIG_ACTIVE_HIGH,
.sync_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE,
}; };
EXPORT_SYMBOL(omap_dss_pal_timings); EXPORT_SYMBOL(omap_dss_pal_timings);
...@@ -290,6 +296,12 @@ const struct omap_video_timings omap_dss_ntsc_timings = { ...@@ -290,6 +296,12 @@ const struct omap_video_timings omap_dss_ntsc_timings = {
.vbp = 31, .vbp = 31,
.interlace = true, .interlace = true,
.hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
.vsync_level = OMAPDSS_SIG_ACTIVE_LOW,
.data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
.de_level = OMAPDSS_SIG_ACTIVE_HIGH,
.sync_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE,
}; };
EXPORT_SYMBOL(omap_dss_ntsc_timings); EXPORT_SYMBOL(omap_dss_ntsc_timings);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment