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 {