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>
This commit is contained in:
parent
a2e5d82758
commit
408d9dbbc4
@ -90,15 +90,6 @@ config OMAP2_DSS_DSI
|
|||||||
|
|
||||||
See http://www.mipi.org/ for DSI spesifications.
|
See http://www.mipi.org/ for DSI spesifications.
|
||||||
|
|
||||||
config OMAP2_DSS_FAKE_VSYNC
|
|
||||||
bool "Fake VSYNC irq from manual update displays"
|
|
||||||
default n
|
|
||||||
help
|
|
||||||
If this is selected, DSI will generate a fake DISPC VSYNC interrupt
|
|
||||||
when DSI has sent a frame. This is only needed with DSI or RFBI
|
|
||||||
displays using manual mode, and you want VSYNC to, for example,
|
|
||||||
time animation.
|
|
||||||
|
|
||||||
config OMAP2_DSS_MIN_FCK_PER_PCK
|
config OMAP2_DSS_MIN_FCK_PER_PCK
|
||||||
int "Minimum FCK/PCK ratio (for scaling)"
|
int "Minimum FCK/PCK ratio (for scaling)"
|
||||||
range 0 32
|
range 0 32
|
||||||
|
@ -3441,27 +3441,6 @@ int omap_dispc_wait_for_irq_interruptible_timeout(u32 irqmask,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_OMAP2_DSS_FAKE_VSYNC
|
|
||||||
void dispc_fake_vsync_irq(void)
|
|
||||||
{
|
|
||||||
u32 irqstatus = DISPC_IRQ_VSYNC;
|
|
||||||
int i;
|
|
||||||
|
|
||||||
WARN_ON(!in_interrupt());
|
|
||||||
|
|
||||||
for (i = 0; i < DISPC_MAX_NR_ISRS; i++) {
|
|
||||||
struct omap_dispc_isr_data *isr_data;
|
|
||||||
isr_data = &dispc.registered_isr[i];
|
|
||||||
|
|
||||||
if (!isr_data->isr)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if (isr_data->mask & irqstatus)
|
|
||||||
isr_data->isr(isr_data->arg, irqstatus);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static void _omap_dispc_initialize_irq(void)
|
static void _omap_dispc_initialize_irq(void)
|
||||||
{
|
{
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
@ -4152,10 +4152,6 @@ static void dsi_framedone_irq_callback(void *data, u32 mask)
|
|||||||
__cancel_delayed_work(&dsi->framedone_timeout_work);
|
__cancel_delayed_work(&dsi->framedone_timeout_work);
|
||||||
|
|
||||||
dsi_handle_framedone(dsidev, 0);
|
dsi_handle_framedone(dsidev, 0);
|
||||||
|
|
||||||
#ifdef CONFIG_OMAP2_DSS_FAKE_VSYNC
|
|
||||||
dispc_fake_vsync_irq();
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int omap_dsi_update(struct omap_dss_device *dssdev, int channel,
|
int omap_dsi_update(struct omap_dss_device *dssdev, int channel,
|
||||||
|
@ -396,7 +396,6 @@ void dispc_dump_clocks(struct seq_file *s);
|
|||||||
void dispc_dump_irqs(struct seq_file *s);
|
void dispc_dump_irqs(struct seq_file *s);
|
||||||
void dispc_dump_regs(struct seq_file *s);
|
void dispc_dump_regs(struct seq_file *s);
|
||||||
void dispc_irq_handler(void);
|
void dispc_irq_handler(void);
|
||||||
void dispc_fake_vsync_irq(void);
|
|
||||||
|
|
||||||
int dispc_runtime_get(void);
|
int dispc_runtime_get(void);
|
||||||
void dispc_runtime_put(void);
|
void dispc_runtime_put(void);
|
||||||
|
Loading…
Reference in New Issue
Block a user