summaryrefslogtreecommitdiff
path: root/meta/recipes-kernel/linux/linux-omap-2.6.29/dss2/0026-DSS2-DSI-sidlemode-to-noidle-while-sending-frame.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-kernel/linux/linux-omap-2.6.29/dss2/0026-DSS2-DSI-sidlemode-to-noidle-while-sending-frame.patch')
-rw-r--r--meta/recipes-kernel/linux/linux-omap-2.6.29/dss2/0026-DSS2-DSI-sidlemode-to-noidle-while-sending-frame.patch78
1 files changed, 0 insertions, 78 deletions
diff --git a/meta/recipes-kernel/linux/linux-omap-2.6.29/dss2/0026-DSS2-DSI-sidlemode-to-noidle-while-sending-frame.patch b/meta/recipes-kernel/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/recipes-kernel/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
-