41 lines
1.3 KiB
Diff
41 lines
1.3 KiB
Diff
From 563db68137475d011b355bfe674d1b7a24778091 Mon Sep 17 00:00:00 2001
|
|
From: Robert Marko <robimarko@gmail.com>
|
|
Date: Sat, 8 Oct 2022 22:26:31 +0200
|
|
Subject: [PATCH] psci: dont advertise OSI support for IPQ6018
|
|
|
|
Some older IPQ60xx SoC series boards ship with TrustZone/QSEE firmware
|
|
older than TZ.WNS.5.1-00084 which will advertise OSI[1] but are broken
|
|
and trying to use OSI will cause the board to hang until WDT kicks in.
|
|
|
|
So workaround it by checking for SoC compatible and returning false so
|
|
OSI is not used.
|
|
|
|
[1] https://www.spinics.net/lists/linux-arm-msm/msg79916.html
|
|
|
|
Signed-off-by: Robert Marko <robimarko@gmail.com>
|
|
---
|
|
drivers/firmware/psci/psci.c | 12 ++++++++++++
|
|
1 file changed, 12 insertions(+)
|
|
|
|
--- a/drivers/firmware/psci/psci.c
|
|
+++ b/drivers/firmware/psci/psci.c
|
|
@@ -87,6 +87,18 @@ static inline bool psci_has_ext_power_st
|
|
|
|
bool psci_has_osi_support(void)
|
|
{
|
|
+ /*
|
|
+ * Some older IPQ60xx SoC series boards ship with
|
|
+ * TrustZone/QSEE firmware older than TZ.WNS.5.1-00084
|
|
+ * which will advertise OSI but is broken and trying
|
|
+ * to use OSI will cause the board to hang until WDT
|
|
+ * kicks in.
|
|
+ * So workaround it by checking for SoC compatible
|
|
+ * and returning false so OSI is not used.
|
|
+ */
|
|
+ if (of_machine_is_compatible("qcom,ipq6018"))
|
|
+ return false;
|
|
+
|
|
return psci_cpu_suspend_feature & PSCI_1_0_OS_INITIATED;
|
|
}
|
|
|