aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorArchit Taneja <archit@ti.com>2012-05-07 07:21:36 -0400
committerTomi Valkeinen <tomi.valkeinen@ti.com>2012-05-09 06:43:17 -0400
commit408d9dbbc4eebd8c4f2cd5d487f1b9c3c12c2c59 (patch)
tree7f640d074dd5df13fc366cb1f49b36f301bb5c84 /drivers
parenta2e5d82758a82b4848f00b1f28f8f71920e1b076 (diff)
OMAPDSS: DISPC: Remove Fake VSYNC support
Fake VSYNC support is a hack and has some bugs in it. It isn't used by any user of DSS. Remove Fake VSYNC support. For DSI command mode and RFBI panels, a user of DSS should wait for the completion of a frame by using the panel driver's sync op. Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/omap2/dss/Kconfig9
-rw-r--r--drivers/video/omap2/dss/dispc.c21
-rw-r--r--drivers/video/omap2/dss/dsi.c4
-rw-r--r--drivers/video/omap2/dss/dss.h1
4 files changed, 0 insertions, 35 deletions
diff --git a/drivers/video/omap2/dss/Kconfig b/drivers/video/omap2/dss/Kconfig
index 7be7c06a249e..9aaf3246f821 100644
--- a/drivers/video/omap2/dss/Kconfig
+++ b/drivers/video/omap2/dss/Kconfig
@@ -90,15 +90,6 @@ config OMAP2_DSS_DSI
90 90
91 See http://www.mipi.org/ for DSI spesifications. 91 See http://www.mipi.org/ for DSI spesifications.
92 92
93config OMAP2_DSS_FAKE_VSYNC
94 bool "Fake VSYNC irq from manual update displays"
95 default n
96 help
97 If this is selected, DSI will generate a fake DISPC VSYNC interrupt
98 when DSI has sent a frame. This is only needed with DSI or RFBI
99 displays using manual mode, and you want VSYNC to, for example,
100 time animation.
101
102config OMAP2_DSS_MIN_FCK_PER_PCK 93config OMAP2_DSS_MIN_FCK_PER_PCK
103 int "Minimum FCK/PCK ratio (for scaling)" 94 int "Minimum FCK/PCK ratio (for scaling)"
104 range 0 32 95 range 0 32
diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
index 49015b8a9e4a..82012d15884b 100644
--- a/drivers/video/omap2/dss/dispc.c
+++ b/drivers/video/omap2/dss/dispc.c
@@ -3441,27 +3441,6 @@ int omap_dispc_wait_for_irq_interruptible_timeout(u32 irqmask,
3441 return 0; 3441 return 0;
3442} 3442}
3443 3443
3444#ifdef CONFIG_OMAP2_DSS_FAKE_VSYNC
3445void dispc_fake_vsync_irq(void)
3446{
3447 u32 irqstatus = DISPC_IRQ_VSYNC;
3448 int i;
3449
3450 WARN_ON(!in_interrupt());
3451
3452 for (i = 0; i < DISPC_MAX_NR_ISRS; i++) {
3453 struct omap_dispc_isr_data *isr_data;
3454 isr_data = &dispc.registered_isr[i];
3455
3456 if (!isr_data->isr)
3457 continue;
3458
3459 if (isr_data->mask & irqstatus)
3460 isr_data->isr(isr_data->arg, irqstatus);
3461 }
3462}
3463#endif
3464
3465static void _omap_dispc_initialize_irq(void) 3444static void _omap_dispc_initialize_irq(void)
3466{ 3445{
3467 unsigned long flags; 3446 unsigned long flags;
diff --git a/drivers/video/omap2/dss/dsi.c b/drivers/video/omap2/dss/dsi.c
index b6cf03cc9221..6c4b034d7685 100644
--- a/drivers/video/omap2/dss/dsi.c
+++ b/drivers/video/omap2/dss/dsi.c
@@ -4152,10 +4152,6 @@ static void dsi_framedone_irq_callback(void *data, u32 mask)
4152 __cancel_delayed_work(&dsi->framedone_timeout_work); 4152 __cancel_delayed_work(&dsi->framedone_timeout_work);
4153 4153
4154 dsi_handle_framedone(dsidev, 0); 4154 dsi_handle_framedone(dsidev, 0);
4155
4156#ifdef CONFIG_OMAP2_DSS_FAKE_VSYNC
4157 dispc_fake_vsync_irq();
4158#endif
4159} 4155}
4160 4156
4161int omap_dsi_update(struct omap_dss_device *dssdev, int channel, 4157int omap_dsi_update(struct omap_dss_device *dssdev, int channel,
diff --git a/drivers/video/omap2/dss/dss.h b/drivers/video/omap2/dss/dss.h
index 5ca67f111d09..94d82344894f 100644
--- a/drivers/video/omap2/dss/dss.h
+++ b/drivers/video/omap2/dss/dss.h
@@ -396,7 +396,6 @@ void dispc_dump_clocks(struct seq_file *s);
396void dispc_dump_irqs(struct seq_file *s); 396void dispc_dump_irqs(struct seq_file *s);
397void dispc_dump_regs(struct seq_file *s); 397void dispc_dump_regs(struct seq_file *s);
398void dispc_irq_handler(void); 398void dispc_irq_handler(void);
399void dispc_fake_vsync_irq(void);
400 399
401int dispc_runtime_get(void); 400int dispc_runtime_get(void);
402void dispc_runtime_put(void); 401void dispc_runtime_put(void);