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 67748b0..6f85f75 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 "prm44xx.h" @@ -1828,6 +1829,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) { @@ -1865,6 +1869,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.7.0.4 -- 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