diff options
Diffstat (limited to 'extras/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0011-OMAP3-SR-enable-disable-SR-only-on-need.patch')
-rw-r--r-- | extras/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0011-OMAP3-SR-enable-disable-SR-only-on-need.patch | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/extras/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0011-OMAP3-SR-enable-disable-SR-only-on-need.patch b/extras/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0011-OMAP3-SR-enable-disable-SR-only-on-need.patch new file mode 100644 index 00000000..b96682ea --- /dev/null +++ b/extras/recipes-kernel/linux/linux-omap-2.6.39/pm/linux-omap-2.6.39-ti-pm/0011-OMAP3-SR-enable-disable-SR-only-on-need.patch @@ -0,0 +1,41 @@ +From 4aa67e94d6b13905abcf3e95cb66ea7be9c2e8dd Mon Sep 17 00:00:00 2001 +From: Nishanth Menon <nm@ti.com> +Date: Mon, 14 Feb 2011 21:14:17 +0530 +Subject: [PATCH 11/12] OMAP3+: SR: enable/disable SR only on need + +Since we already know the state of the autocomp enablement, we can +see if the requested state is different from the current state and +enable/disable SR only on the need basis. + +Signed-off-by: Nishanth Menon <nm@ti.com> +Signed-off-by: Kevin Hilman <khilman@ti.com> +Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> +--- + arch/arm/mach-omap2/smartreflex.c | 11 +++++++---- + 1 files changed, 7 insertions(+), 4 deletions(-) + +diff --git a/arch/arm/mach-omap2/smartreflex.c b/arch/arm/mach-omap2/smartreflex.c +index 616ef62..3bd9fac 100644 +--- a/arch/arm/mach-omap2/smartreflex.c ++++ b/arch/arm/mach-omap2/smartreflex.c +@@ -807,10 +807,13 @@ static int omap_sr_autocomp_store(void *data, u64 val) + return -EINVAL; + } + +- if (!val) +- sr_stop_vddautocomp(sr_info); +- else +- sr_start_vddautocomp(sr_info); ++ /* control enable/disable only if there is a delta in value */ ++ if (sr_info->autocomp_active != val) { ++ if (!val) ++ sr_stop_vddautocomp(sr_info); ++ else ++ sr_start_vddautocomp(sr_info); ++ } + + return 0; + } +-- +1.6.6.1 + |