diff options
Diffstat (limited to 'meta/packages/linux/linux-omap-2.6.29/dss2/0026-DSS2-DSI-sidlemode-to-noidle-while-sending-frame.patch')
-rw-r--r-- | meta/packages/linux/linux-omap-2.6.29/dss2/0026-DSS2-DSI-sidlemode-to-noidle-while-sending-frame.patch | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/meta/packages/linux/linux-omap-2.6.29/dss2/0026-DSS2-DSI-sidlemode-to-noidle-while-sending-frame.patch b/meta/packages/linux/linux-omap-2.6.29/dss2/0026-DSS2-DSI-sidlemode-to-noidle-while-sending-frame.patch deleted file mode 100644 index 6ee3908d1..000000000 --- a/meta/packages/linux/linux-omap-2.6.29/dss2/0026-DSS2-DSI-sidlemode-to-noidle-while-sending-frame.patch +++ /dev/null @@ -1,78 +0,0 @@ -From a1e8018c0806a1a0579eda4b93b7d6764a2ff643 Mon Sep 17 00:00:00 2001 -From: Tomi Valkeinen <tomi.valkeinen@nokia.com> -Date: Wed, 15 Apr 2009 14:06:54 +0300 -Subject: [PATCH] DSS2: DSI: sidlemode to noidle while sending frame - -DISPC interrupts are not wake-up capable. Smart-idle in DISPC_SIDLEMODE -causes DSS interface to go to idle at the end of the frame, and the -FRAMEDONE interrupt is then delayed until something wakes up the DSS -interface. - -So we set SIDLEMODE to no-idle when we start sending the frame, and -set it back to smart-idle after receiving FRAMEDONE. ---- - drivers/video/omap2/dss/dispc.c | 10 ++++++++++ - drivers/video/omap2/dss/dsi.c | 4 ++++ - drivers/video/omap2/dss/dss.h | 3 +++ - 3 files changed, 17 insertions(+), 0 deletions(-) - -diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c -index ae7be3d..16c68b8 100644 ---- a/drivers/video/omap2/dss/dispc.c -+++ b/drivers/video/omap2/dss/dispc.c -@@ -2791,6 +2791,16 @@ static void _omap_dispc_initialize_irq(void) - omap_dispc_set_irqs(); - } - -+void dispc_enable_sidle(void) -+{ -+ REG_FLD_MOD(DISPC_SYSCONFIG, 2, 4, 3); /* SIDLEMODE: smart idle */ -+} -+ -+void dispc_disable_sidle(void) -+{ -+ REG_FLD_MOD(DISPC_SYSCONFIG, 1, 4, 3); /* SIDLEMODE: no idle */ -+} -+ - static void _omap_dispc_initial_config(void) - { - u32 l; -diff --git a/drivers/video/omap2/dss/dsi.c b/drivers/video/omap2/dss/dsi.c -index 66ac6ea..50af925 100644 ---- a/drivers/video/omap2/dss/dsi.c -+++ b/drivers/video/omap2/dss/dsi.c -@@ -2665,6 +2665,8 @@ static void dsi_update_screen_dispc(struct omap_display *display, - l = FLD_MOD(l, 1, 31, 31); /* TE_START */ - dsi_write_reg(DSI_VC_TE(1), l); - -+ dispc_disable_sidle(); -+ - dispc_enable_lcd_out(1); - - if (dsi.use_te) -@@ -2678,6 +2680,8 @@ static void framedone_callback(void *data, u32 mask) - return; - } - -+ dispc_enable_sidle(); -+ - dsi.framedone_scheduled = 1; - - /* We get FRAMEDONE when DISPC has finished sending pixels and turns -diff --git a/drivers/video/omap2/dss/dss.h b/drivers/video/omap2/dss/dss.h -index 0be42b6..d0917a8 100644 ---- a/drivers/video/omap2/dss/dss.h -+++ b/drivers/video/omap2/dss/dss.h -@@ -244,6 +244,9 @@ void dispc_fake_vsync_irq(void); - void dispc_save_context(void); - void dispc_restore_context(void); - -+void dispc_enable_sidle(void); -+void dispc_disable_sidle(void); -+ - void dispc_lcd_enable_signal_polarity(bool act_high); - void dispc_lcd_enable_signal(bool enable); - void dispc_pck_free_enable(bool enable); --- -1.5.6.5 - |