This patch makes sure that VDD2 dvfs always happens at
a higher VDD1 OPP, hence bringing down the VDD2 DVFS latency
to a large extent.
Having a smaller VDD2 dvfs latency helps drivers which are sensitive
to the time during which SDRAM is inaccessible due to SDRC iclk being
disabled.

Signed-off-by: Rajendra Nayak <[email protected]>
---
 arch/arm/mach-omap2/resource34xx.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-omap2/resource34xx.c 
b/arch/arm/mach-omap2/resource34xx.c
index 9908e52..4c87436 100644
--- a/arch/arm/mach-omap2/resource34xx.c
+++ b/arch/arm/mach-omap2/resource34xx.c
@@ -353,6 +353,9 @@ int set_opp(struct shared_resource *resp, u32 target_level)
        int ind;
 
        if (resp == vdd1_resp) {
+               if (target_level < 3)
+                       resource_release("vdd2_opp", &vdd2_dev);
+
                resource_set_opp_level(VDD1_OPP, target_level, 0);
                /*
                 * For VDD1 OPP3 and above, make sure the interconnect
@@ -361,8 +364,6 @@ int set_opp(struct shared_resource *resp, u32 target_level)
                 */
                if (target_level >= 3)
                        resource_request("vdd2_opp", &vdd2_dev, 400000);
-               else
-                       resource_release("vdd2_opp", &vdd2_dev);
 
        } else if (resp == vdd2_resp) {
                tput = target_level;
-- 
1.5.4.7

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

Reply via email to