pmaports/main/linux-postmarketos-allwinner/0013-WoWLAN-support-for-the-PinePhone.patch
Clayton Craft 8d05efae6b
linux-postmarketos-allwinner: add patch enabling WoWLAN (MR 1955)
[ci:skip-build] Already built successfully in CI
2021-02-26 17:08:57 -08:00

76 lines
2.7 KiB
Diff

From d39f92118bdd436aa6cce0c6a45178ba5c7a1bb1 Mon Sep 17 00:00:00 2001
From: Peetz0r <github@haas-en-berg.nl>
Date: Mon, 22 Feb 2021 13:01:09 +0100
Subject: [PATCH] WoWLAN support for the PinePhone
---
arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi | 1 +
drivers/staging/rtl8723cs/Makefile | 7 ++++---
drivers/staging/rtl8723cs/os_dep/linux/sdio_intf.c | 4 ----
3 files changed, 5 insertions(+), 7 deletions(-)
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
index 7d0dd52e2f9d..834a2d74d376 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
@@ -603,6 +603,7 @@ &mmc1 {
non-removable;
post-power-on-delay-ms = <1>; /* wifi power is always on */
status = "okay";
+ keep-power-in-suspend;
rtl8723cs: wifi@1 {
reg = <1>;
diff --git a/drivers/staging/rtl8723cs/Makefile b/drivers/staging/rtl8723cs/Makefile
index 60c1c864db42..0b60caa83e75 100644
--- a/drivers/staging/rtl8723cs/Makefile
+++ b/drivers/staging/rtl8723cs/Makefile
@@ -108,9 +108,10 @@ CONFIG_RTW_LOG_LEVEL = 6
CONFIG_PROC_DEBUG = y
######################## Wake On Lan ##########################
-CONFIG_WOWLAN = n
+CONFIG_WOWLAN = y
#bit3: ARP enable, bit2: deauth, bit1: unicast, bit0: magic pkt.
-CONFIG_WAKEUP_TYPE = 0xf
+#enabling unicast causes unwanted wake-ups all the time, so disable
+CONFIG_WAKEUP_TYPE = 0xd
CONFIG_WOW_LPS_MODE = default
#bit0: disBBRF off, #bit1: Wireless remote controller (WRC)
CONFIG_SUSPEND_TYPE = 0
@@ -127,7 +128,7 @@ CONFIG_PNO_SUPPORT = n
CONFIG_PNO_SET_DEBUG = n
CONFIG_AP_WOWLAN = n
######### Notify SDIO Host Keep Power During Syspend ##########
-CONFIG_RTW_SDIO_PM_KEEP_POWER = n
+CONFIG_RTW_SDIO_PM_KEEP_POWER = y
###################### MP HW TX MODE FOR VHT #######################
CONFIG_MP_VHT_HW_TX_MODE = n
###################### ROAMING #####################################
diff --git a/drivers/staging/rtl8723cs/os_dep/linux/sdio_intf.c b/drivers/staging/rtl8723cs/os_dep/linux/sdio_intf.c
index c20c136d111d..4168e2949748 100644
--- a/drivers/staging/rtl8723cs/os_dep/linux/sdio_intf.c
+++ b/drivers/staging/rtl8723cs/os_dep/linux/sdio_intf.c
@@ -269,9 +269,7 @@ static u8 gpio_hostwakeup_alloc_irq(PADAPTER padapter)
} else
RTW_INFO("allocate gpio irq %d ok\n", oob_irq);
-#ifndef CONFIG_PLATFORM_ARM_SUN8I
enable_irq_wake(oob_irq);
-#endif
return _SUCCESS;
}
@@ -282,9 +280,7 @@ static void gpio_hostwakeup_free_irq(PADAPTER padapter)
if (oob_irq == 0)
return;
-#ifndef CONFIG_PLATFORM_ARM_SUN8I
disable_irq_wake(oob_irq);
-#endif
free_irq(oob_irq, padapter);
}
#endif
--
2.30.1