aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-12-15 13:50:13 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2015-12-15 13:50:13 -0500
commit8c2b759efa0faa09632ce63765751202b412b459 (patch)
tree90649bb14fdde96562b7633ecda8d533484f9231
parent5fab517d33bbfe01f782c5ca9999e6626686d020 (diff)
parenta54c1ddbe3bc07eadb0096c4abe6224e7f363b66 (diff)
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
-rw-r--r--drivers/video/fbdev/fsl-diu-fb.c13
-rw-r--r--drivers/video/fbdev/omap2/dss/venc.c12
2 files changed, 24 insertions, 1 deletions
diff --git a/drivers/video/fbdev/fsl-diu-fb.c b/drivers/video/fbdev/fsl-diu-fb.c
index b335c1ae8625..fe00a07c122e 100644
--- a/drivers/video/fbdev/fsl-diu-fb.c
+++ b/drivers/video/fbdev/fsl-diu-fb.c
@@ -479,7 +479,10 @@ static enum fsl_diu_monitor_port fsl_diu_name_to_port(const char *s)
479 port = FSL_DIU_PORT_DLVDS; 479 port = FSL_DIU_PORT_DLVDS;
480 } 480 }
481 481
482 return diu_ops.valid_monitor_port(port); 482 if (diu_ops.valid_monitor_port)
483 port = diu_ops.valid_monitor_port(port);
484
485 return port;
483} 486}
484 487
485/* 488/*
@@ -1915,6 +1918,14 @@ static int __init fsl_diu_init(void)
1915#else 1918#else
1916 monitor_port = fsl_diu_name_to_port(monitor_string); 1919 monitor_port = fsl_diu_name_to_port(monitor_string);
1917#endif 1920#endif
1921
1922 /*
1923 * Must to verify set_pixel_clock. If not implement on platform,
1924 * then that means that there is no platform support for the DIU.
1925 */
1926 if (!diu_ops.set_pixel_clock)
1927 return -ENODEV;
1928
1918 pr_info("Freescale Display Interface Unit (DIU) framebuffer driver\n"); 1929 pr_info("Freescale Display Interface Unit (DIU) framebuffer driver\n");
1919 1930
1920#ifdef CONFIG_NOT_COHERENT_CACHE 1931#ifdef CONFIG_NOT_COHERENT_CACHE
diff --git a/drivers/video/fbdev/omap2/dss/venc.c b/drivers/video/fbdev/omap2/dss/venc.c
index 99ca268c1cdd..d05a54922ba6 100644
--- a/drivers/video/fbdev/omap2/dss/venc.c
+++ b/drivers/video/fbdev/omap2/dss/venc.c
@@ -275,6 +275,12 @@ const struct omap_video_timings omap_dss_pal_timings = {
275 .vbp = 41, 275 .vbp = 41,
276 276
277 .interlace = true, 277 .interlace = true,
278
279 .hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
280 .vsync_level = OMAPDSS_SIG_ACTIVE_LOW,
281 .data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
282 .de_level = OMAPDSS_SIG_ACTIVE_HIGH,
283 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE,
278}; 284};
279EXPORT_SYMBOL(omap_dss_pal_timings); 285EXPORT_SYMBOL(omap_dss_pal_timings);
280 286
@@ -290,6 +296,12 @@ const struct omap_video_timings omap_dss_ntsc_timings = {
290 .vbp = 31, 296 .vbp = 31,
291 297
292 .interlace = true, 298 .interlace = true,
299
300 .hsync_level = OMAPDSS_SIG_ACTIVE_LOW,
301 .vsync_level = OMAPDSS_SIG_ACTIVE_LOW,
302 .data_pclk_edge = OMAPDSS_DRIVE_SIG_RISING_EDGE,
303 .de_level = OMAPDSS_SIG_ACTIVE_HIGH,
304 .sync_pclk_edge = OMAPDSS_DRIVE_SIG_FALLING_EDGE,
293}; 305};
294EXPORT_SYMBOL(omap_dss_ntsc_timings); 306EXPORT_SYMBOL(omap_dss_ntsc_timings);
295 307