msm: clock-8960: Vote for mmfpb in the active set

Request mmfpb at 76.8MHz while the cpu is active. The sleep set is
left at 0 so that the mmfpb can be turned off during
power-collapse.

Change-Id: I677d809fa019470c3318e3fc77c4adcd53769399
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
diff --git a/arch/arm/mach-msm/clock-8960.c b/arch/arm/mach-msm/clock-8960.c
index 21abb8b..9aa5700 100644
--- a/arch/arm/mach-msm/clock-8960.c
+++ b/arch/arm/mach-msm/clock-8960.c
@@ -5160,6 +5160,7 @@
 	CLK_LOOKUP("mmfab_a_clk",	mmfab_a_clk.c,	NULL),
 	CLK_LOOKUP("mmfpb_clk",		mmfpb_clk.c,	NULL),
 	CLK_LOOKUP("mmfpb_a_clk",	mmfpb_a_clk.c,	NULL),
+	CLK_LOOKUP("mmfpb_a_clk",	mmfpb_a_clk.c,	"clock-8960"),
 	CLK_LOOKUP("sfab_clk",		sfab_clk.c,	NULL),
 	CLK_LOOKUP("sfab_a_clk",	sfab_a_clk.c,	NULL),
 	CLK_LOOKUP("sfpb_clk",		sfpb_clk.c,	NULL),
@@ -5763,6 +5764,20 @@
 
 static int __init msm8960_clock_late_init(void)
 {
+	int rc;
+	struct clk *mmfpb_a_clk = clk_get_sys("clock-8960", "mmfpb_a_clk");
+
+	/* Vote for MMFPB to be at least 76.8MHz when an Apps CPU is active. */
+	if (WARN(IS_ERR(mmfpb_a_clk), "mmfpb_a_clk not found (%ld)\n",
+			PTR_ERR(mmfpb_a_clk)))
+		return PTR_ERR(mmfpb_a_clk);
+	rc = clk_set_min_rate(mmfpb_a_clk, 76800000);
+	if (WARN(rc, "mmfpb_a_clk rate was not set (%d)\n", rc))
+		return rc;
+	rc = clk_enable(mmfpb_a_clk);
+	if (WARN(rc, "mmfpb_a_clk not enabled (%d)\n", rc))
+		return rc;
+
 	return local_unvote_sys_vdd(HIGH);
 }