diff options
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.patch | 43 |
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 + |