msm: msm_bus: Set RPM register bit for Multi-tiering support

This bit must set during init, for RPM to decode the
fabric data for multi-tiering.

Signed-off-by: Gagan Mac <gmac@codeaurora.org>
diff --git a/arch/arm/mach-msm/board-msm8960.c b/arch/arm/mach-msm/board-msm8960.c
index 948b815..43dafb0 100644
--- a/arch/arm/mach-msm/board-msm8960.c
+++ b/arch/arm/mach-msm/board-msm8960.c
@@ -2602,6 +2602,7 @@
 	msm_bus_mm_fabric.dev.platform_data = &msm_bus_mm_fabric_pdata;
 	msm_bus_sys_fpb.dev.platform_data = &msm_bus_sys_fpb_pdata;
 	msm_bus_cpss_fpb.dev.platform_data = &msm_bus_cpss_fpb_pdata;
+	msm_bus_rpm_set_mt_mask();
 #endif
 }
 
diff --git a/arch/arm/mach-msm/include/mach/msm_bus_board.h b/arch/arm/mach-msm/include/mach/msm_bus_board.h
index 6629010..add2836 100644
--- a/arch/arm/mach-msm/include/mach/msm_bus_board.h
+++ b/arch/arm/mach-msm/include/mach/msm_bus_board.h
@@ -58,6 +58,7 @@
 void msm_bus_board_assign_iids(struct msm_bus_fabric_registration
 	*fabreg, int fabid);
 int msm_bus_board_get_iid(int id);
+void msm_bus_rpm_set_mt_mask(void);
 
 /*
  * These macros specify the convention followed for allocating
diff --git a/arch/arm/mach-msm/msm_bus/msm_bus_rpm.c b/arch/arm/mach-msm/msm_bus/msm_bus_rpm.c
index 5ee0dcd..ec0db42 100644
--- a/arch/arm/mach-msm/msm_bus/msm_bus_rpm.c
+++ b/arch/arm/mach-msm/msm_bus/msm_bus_rpm.c
@@ -20,6 +20,20 @@
 #include <mach/board.h>
 #include <mach/rpm.h>
 #include "msm_bus_core.h"
+#include "../rpm_resources.h"
+
+
+void msm_bus_rpm_set_mt_mask()
+{
+#ifdef CONFIG_MSM_BUS_RPM_MULTI_TIER_ENABLED
+	struct msm_rpm_iv_pair mt[1];
+	int mask = MSM_RPMRS_MASK_RPM_CTL_MULTI_TIER;
+	mt[0].id = MSM_RPM_ID_RPM_CTL;
+	mt[0].value = 2;
+	msm_rpmrs_set_bits_noirq(MSM_RPM_CTX_SET_0, mt, 1,
+		&mask);
+#endif
+}
 
 #ifndef CONFIG_MSM_BUS_RPM_MULTI_TIER_ENABLED
 struct commit_data {