mmc: msm_sdcc: put regulator in HPM before enabling it.

If regulator is enabled when it's in LPM (Low Power Mode),
it takes ~400us to enable it where as if regulator is
enabled when it's in HPM mode, it take < 200us to enable
it. This means immediately after enabling the regulator,
it's usable as it was already in HPM mode.

Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
diff --git a/drivers/mmc/host/msm_sdcc.c b/drivers/mmc/host/msm_sdcc.c
index cb96e0d..f05647d 100644
--- a/drivers/mmc/host/msm_sdcc.c
+++ b/drivers/mmc/host/msm_sdcc.c
@@ -1667,6 +1667,11 @@
 {
 	int rc = 0;
 
+	/* Put regulator in HPM (high power mode) */
+	rc = msmsdcc_vreg_set_optimum_mode(vreg, vreg->hpm_uA);
+	if (rc < 0)
+		goto out;
+
 	if (!vreg->is_enabled) {
 		/* Set voltage level */
 		rc = msmsdcc_vreg_set_voltage(vreg, vreg->level,
@@ -1683,16 +1688,6 @@
 		vreg->is_enabled = true;
 	}
 
-	/* Put regulator in HPM (high power mode) */
-	rc = msmsdcc_vreg_set_optimum_mode(vreg, vreg->hpm_uA);
-	if (rc < 0)
-		goto vreg_disable;
-
-	goto out;
-
-vreg_disable:
-	regulator_disable(vreg->reg);
-	vreg->is_enabled = false;
 out:
 	return rc;
 }