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 <th...@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 1a46eb0..2fd644a 100644
--- a/arch/arm/mach-omap2/voltage.c
+++ b/arch/arm/mach-omap2/voltage.c
@@ -35,6 +35,7 @@
 #include <plat/clock.h>
 #include <plat/common.h>
 #include <plat/voltage.h>
+#include <plat/smartreflex.h>
 
 #include "prm-regbits-34xx.h"
 #include "prm44xx.h"
@@ -1730,6 +1731,9 @@ int omap_voltage_scale(struct voltagedomain *voltdm, 
unsigned long volt)
                return -EINVAL;
        }
 
+       /* Disable smartreflex module across voltage and frequency scaling */
+       omap_smartreflex_disable(voltdm);
+
        if (curr_volt == volt) {
                is_volt_scaled = 1;
        } else if (curr_volt < volt) {
@@ -1764,6 +1768,9 @@ int omap_voltage_scale(struct voltagedomain *voltdm, 
unsigned long volt)
 
        mutex_unlock(&vdd->scaling_mutex);
 
+       /* Enable Smartreflex module */
+       omap_smartreflex_enable(voltdm);
+
        /* Scale dependent vdds */
        scale_dep_vdd(vdd);
 
-- 
1.7.1.GIT

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to