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