aboutsummaryrefslogtreecommitdiffstats
path: root/extras/recipes-kernel/linux/linux-omap/dvfs/0013-OMAP-Disable-smartreflex-across-DVFS.patch
diff options
context:
space:
mode:
Diffstat (limited to 'extras/recipes-kernel/linux/linux-omap/dvfs/0013-OMAP-Disable-smartreflex-across-DVFS.patch')
-rw-r--r--extras/recipes-kernel/linux/linux-omap/dvfs/0013-OMAP-Disable-smartreflex-across-DVFS.patch50
1 files changed, 50 insertions, 0 deletions
diff --git a/extras/recipes-kernel/linux/linux-omap/dvfs/0013-OMAP-Disable-smartreflex-across-DVFS.patch b/extras/recipes-kernel/linux/linux-omap/dvfs/0013-OMAP-Disable-smartreflex-across-DVFS.patch
new file mode 100644
index 00000000..89384a8e
--- /dev/null
+++ b/extras/recipes-kernel/linux/linux-omap/dvfs/0013-OMAP-Disable-smartreflex-across-DVFS.patch
@@ -0,0 +1,50 @@
+From 4c68660aa69a5eaeaff7fda7e2297e2d31de0333 Mon Sep 17 00:00:00 2001
+From: Thara Gopinath <thara@ti.com>
+Date: Fri, 2 Jul 2010 13:06:57 +0530
+Subject: [PATCH 13/20] OMAP: Disable smartreflex across DVFS
+
+This patch disables smartreflex for a particular voltage
+domain when the the voltage domain and the devices belonging
+to it is being scaled and re-enables it back once the scaling
+is done.
+
+Signed-off-by: Thara Gopinath <thara@ti.com>
+---
+ arch/arm/mach-omap2/voltage.c | 7 +++++++
+ 1 files changed, 7 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c
+index c83d968..2f331de 100644
+--- a/arch/arm/mach-omap2/voltage.c
++++ b/arch/arm/mach-omap2/voltage.c
+@@ -32,6 +32,7 @@
+ #include <plat/common.h>
+ #include <plat/voltage.h>
+ #include <plat/omap_device.h>
++#include <plat/smartreflex.h>
+
+ #include "prm-regbits-34xx.h"
+ #include "prm-regbits-44xx.h"
+@@ -1806,6 +1807,9 @@ int omap_voltage_scale(struct voltagedomain *voltdm, unsigned long volt)
+ return -EINVAL;
+ }
+
++ /* Disable smartreflex module across voltage and frequency scaling */
++ omap_sr_disable(voltdm);
++
+ if (curr_volt == volt) {
+ is_volt_scaled = 1;
+ } else if (curr_volt < volt) {
+@@ -1840,6 +1844,9 @@ int omap_voltage_scale(struct voltagedomain *voltdm, unsigned long volt)
+
+ mutex_unlock(&vdd->scaling_mutex);
+
++ /* Enable Smartreflex module */
++ omap_sr_enable(voltdm);
++
+ /* Scale dependent vdds */
+ scale_dep_vdd(vdd);
+
+--
+1.6.6.1
+