openwrt/target/linux/qualcommax/patches-6.1/0903-psci-dont-advertise-OSI-support-for-IPQ6018.patch
Mantas Pucka 23deb4ac90
qualcommax: add ipq60xx support
Introduce support for the Qualcomm IPQ60xx SoC. WiFi support still has
to be handled and correctly fix hence this is currently marked as
source-only to have a solid base to progress on correct support of this
and hope Upstream QUIC publish newers ath11k drivers for this SoC.

Co-developed-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Mantas Pucka <mantas@8devices.com>
[ improve commit description, add SoB for Robert, make it source-only ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-02-09 14:01:51 +01:00

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;
}