slim: msm: Disable runtime PM to avoid suspected slimbus lockup

It is suspected that runtime PM for slimbus controller may be
responsible for a slimbus register-access when slimbus core clock
is off.
Disable the runtime-PM for slimbus to avoid this scenario for now and
provide provision so that runtime-PM can be enabled from command line
if homescreen power needs to be reduced.

Change-Id: I6f9d8f00f5a5aefa56dfd8713172ed87c783e00d
Signed-off-by: Sagar Dharia <sdharia@codeaurora.org>
diff --git a/drivers/slimbus/slim-msm-ctrl.c b/drivers/slimbus/slim-msm-ctrl.c
index 6aa111c..90e2687 100644
--- a/drivers/slimbus/slim-msm-ctrl.c
+++ b/drivers/slimbus/slim-msm-ctrl.c
@@ -993,8 +993,14 @@
 				e_addr[2] != QC_CHIPID_SL)
 				dev->pgdla = laddr;
 			if (!ret && !pm_runtime_enabled(dev->dev) &&
-				laddr == (QC_MSM_DEVS - 1))
+				laddr == (QC_MSM_DEVS - 1)) {
 				pm_runtime_enable(dev->dev);
+				/*
+				 * Avoid runtime-PM by default, but allow
+				 * command line activation
+				 */
+				pm_runtime_forbid(dev->dev);
+			}
 
 		} else if (mc == SLIM_MSG_MC_REPLY_INFORMATION ||
 				mc == SLIM_MSG_MC_REPLY_VALUE) {