summaryrefslogtreecommitdiff
path: root/plat/rockchip
diff options
context:
space:
mode:
Diffstat (limited to 'plat/rockchip')
-rw-r--r--plat/rockchip/common/drivers/pmu/pmu_com.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/plat/rockchip/common/drivers/pmu/pmu_com.h b/plat/rockchip/common/drivers/pmu/pmu_com.h
index 4b4b00fd..5359f73b 100644
--- a/plat/rockchip/common/drivers/pmu/pmu_com.h
+++ b/plat/rockchip/common/drivers/pmu/pmu_com.h
@@ -88,6 +88,17 @@ static int check_cpu_wfie(uint32_t cpu_id, uint32_t wfie_msk)
cluster_id = 0;
}
+ /*
+ * wfe/wfi tracking not possible, hopefully the host
+ * was sucessful in enabling wfe/wfi.
+ * We'll give a bit of additional time, like the kernel does.
+ */
+ if ((cluster_id && clstb_cpu_wfe < 0) ||
+ (!cluster_id && clstl_cpu_wfe < 0)) {
+ mdelay(1);
+ return 0;
+ }
+
if (cluster_id)
wfie_msk <<= (clstb_cpu_wfe + cpu_id);
else