aboutsummaryrefslogtreecommitdiffstats
path: root/extras/recipes-kernel/linux/linux-omap-2.6.39/sakoman/0003-OMAP2PLUS-DSS2-Fix-Return-correct-lcd-clock-source-f.patch
diff options
context:
space:
mode:
Diffstat (limited to 'extras/recipes-kernel/linux/linux-omap-2.6.39/sakoman/0003-OMAP2PLUS-DSS2-Fix-Return-correct-lcd-clock-source-f.patch')
-rw-r--r--extras/recipes-kernel/linux/linux-omap-2.6.39/sakoman/0003-OMAP2PLUS-DSS2-Fix-Return-correct-lcd-clock-source-f.patch43
1 files changed, 43 insertions, 0 deletions
diff --git a/extras/recipes-kernel/linux/linux-omap-2.6.39/sakoman/0003-OMAP2PLUS-DSS2-Fix-Return-correct-lcd-clock-source-f.patch b/extras/recipes-kernel/linux/linux-omap-2.6.39/sakoman/0003-OMAP2PLUS-DSS2-Fix-Return-correct-lcd-clock-source-f.patch
new file mode 100644
index 00000000..14239fad
--- /dev/null
+++ b/extras/recipes-kernel/linux/linux-omap-2.6.39/sakoman/0003-OMAP2PLUS-DSS2-Fix-Return-correct-lcd-clock-source-f.patch
@@ -0,0 +1,43 @@
+From 9ddb3aafff5f7f6b7eaad32f9b1eea249c0dce8b Mon Sep 17 00:00:00 2001
+From: Archit Taneja <archit@ti.com>
+Date: Thu, 31 Mar 2011 13:23:35 +0530
+Subject: [PATCH 03/32] OMAP2PLUS: DSS2: Fix: Return correct lcd clock source for OMAP2/3
+
+dss.lcd_clk_source is set to the default value DSS_CLK_SRC_FCK at dss_init.
+For OMAP2 and OMAP3, the dss.lcd_clk_source should always be the same as
+dss.dispc_clk_source. The function dss_get_lcd_clk_source() always returns the
+default value DSS_CLK_SRC_FCK for OMAP2/3. This leads to wrong clock dumps when
+dispc_clk_source is not DSS_CLK_SRC_FCK.
+
+Correct this function to always return dss.dispc_clk_source for OMAP2/3.
+
+Signed-off-by: Archit Taneja <archit@ti.com>
+Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
+---
+ drivers/video/omap2/dss/dss.c | 10 ++++++++--
+ 1 files changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/video/omap2/dss/dss.c b/drivers/video/omap2/dss/dss.c
+index 3f1fee6..c3b48a0 100644
+--- a/drivers/video/omap2/dss/dss.c
++++ b/drivers/video/omap2/dss/dss.c
+@@ -385,8 +385,14 @@ enum dss_clk_source dss_get_dsi_clk_source(void)
+
+ enum dss_clk_source dss_get_lcd_clk_source(enum omap_channel channel)
+ {
+- int ix = channel == OMAP_DSS_CHANNEL_LCD ? 0 : 1;
+- return dss.lcd_clk_source[ix];
++ if (dss_has_feature(FEAT_LCD_CLK_SRC)) {
++ int ix = channel == OMAP_DSS_CHANNEL_LCD ? 0 : 1;
++ return dss.lcd_clk_source[ix];
++ } else {
++ /* LCD_CLK source is the same as DISPC_FCLK source for
++ * OMAP2 and OMAP3 */
++ return dss.dispc_clk_source;
++ }
+ }
+
+ /* calculate clock rates using dividers in cinfo */
+--
+1.6.6.1
+