Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 408d9dbb authored by Archit Taneja's avatar Archit Taneja Committed by Tomi Valkeinen
Browse files

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: default avatarArchit Taneja <archit@ti.com>
Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
parent a2e5d827
Loading
Loading
Loading
Loading
+0 −9
Original line number Original line Diff line number Diff line
@@ -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
+0 −21
Original line number Original line Diff line number Diff line
@@ -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;
+0 −4
Original line number Original line Diff line number Diff line
@@ -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,
+0 −1
Original line number Original line Diff line number Diff line
@@ -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);