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) {