From 26da30df330175ae2e9c5048366f1048b302cd7d Mon Sep 17 00:00:00 2001 From: Alex Zhao Date: Thu, 30 Nov 2017 20:01:42 +0800 Subject: [PATCH] net: wireless: rockchip_wlan: add network wakeup for 8188eu/8723cs/8723ds Change-Id: Ib1bd1258a793932a42c0dd4809f7610f34f87fa5 Signed-off-by: Alex Zhao --- drivers/net/wireless/rockchip_wlan/rtl8188eu/Makefile | 7 ++++--- .../rockchip_wlan/rtl8188eu/os_dep/linux/rtw_android.c | 2 +- .../rockchip_wlan/rtl8188eu/platform/platform_ops.c | 4 +++- drivers/net/wireless/rockchip_wlan/rtl8723cs/Makefile | 7 ++++--- drivers/net/wireless/rockchip_wlan/rtl8723cs/hal/hal_com.c | 2 +- .../rockchip_wlan/rtl8723cs/os_dep/linux/rtw_android.c | 2 +- .../rockchip_wlan/rtl8723cs/platform/platform_ops.c | 4 +++- drivers/net/wireless/rockchip_wlan/rtl8723ds/Makefile | 7 ++++--- drivers/net/wireless/rockchip_wlan/rtl8723ds/hal/hal_com.c | 2 +- .../rockchip_wlan/rtl8723ds/platform/platform_ops.c | 4 +++- 10 files changed, 25 insertions(+), 16 deletions(-) diff --git a/drivers/net/wireless/rockchip_wlan/rtl8188eu/Makefile b/drivers/net/wireless/rockchip_wlan/rtl8188eu/Makefile index 3c3ea9eb4900..4dc4f0da45a5 100644 --- a/drivers/net/wireless/rockchip_wlan/rtl8188eu/Makefile +++ b/drivers/net/wireless/rockchip_wlan/rtl8188eu/Makefile @@ -78,14 +78,14 @@ CONFIG_RTW_DEBUG = y # please refer to "How_to_set_driver_debug_log_level.doc" to set the available level. CONFIG_RTW_LOG_LEVEL = 2 ######################## Wake On Lan ########################## -CONFIG_WOWLAN = n -CONFIG_GPIO_WAKEUP = n +CONFIG_WOWLAN = y +CONFIG_GPIO_WAKEUP = y CONFIG_DEFAULT_PATTERNS_EN = n CONFIG_WAKEUP_GPIO_IDX = default CONFIG_HIGH_ACTIVE = n CONFIG_PNO_SUPPORT = n CONFIG_PNO_SET_DEBUG = n -CONFIG_AP_WOWLAN = n +CONFIG_AP_WOWLAN = y ######### Notify SDIO Host Keep Power During Syspend ########## CONFIG_RTW_SDIO_PM_KEEP_POWER = y ###################### MP HW TX MODE FOR VHT ####################### @@ -1424,6 +1424,7 @@ EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN -DCONFIG_PLATFORM_ANDROID -DCONFIG_PLATFO # default setting for Android 4.1, 4.2, 4.3, 4.4 EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE +EXTRA_CFLAGS += -DCONFIG_RESUME_IN_WORKQUEUE # default setting for Power control #EXTRA_CFLAGS += -DRTW_ENABLE_WIFI_CONTROL_FUNC #EXTRA_CFLAGS += -DRTW_SUPPORT_PLATFORM_SHUTDOWN diff --git a/drivers/net/wireless/rockchip_wlan/rtl8188eu/os_dep/linux/rtw_android.c b/drivers/net/wireless/rockchip_wlan/rtl8188eu/os_dep/linux/rtw_android.c index 9c85dfbbd4f4..5ab4e61ccbc5 100644 --- a/drivers/net/wireless/rockchip_wlan/rtl8188eu/os_dep/linux/rtw_android.c +++ b/drivers/net/wireless/rockchip_wlan/rtl8188eu/os_dep/linux/rtw_android.c @@ -1057,7 +1057,7 @@ static int wifi_probe(struct platform_device *pdev) #ifdef CONFIG_GPIO_WAKEUP printk("%s: gpio:%d wifi_wake_gpio:%d\n", __func__, - wifi_irqres->start, wifi_wake_gpio); + (int)wifi_irqres->start, wifi_wake_gpio); if (wifi_wake_gpio > 0) { #ifdef CONFIG_PLATFORM_INTEL_BYT diff --git a/drivers/net/wireless/rockchip_wlan/rtl8188eu/platform/platform_ops.c b/drivers/net/wireless/rockchip_wlan/rtl8188eu/platform/platform_ops.c index 95da669c38b9..f4c2fad88aef 100644 --- a/drivers/net/wireless/rockchip_wlan/rtl8188eu/platform/platform_ops.c +++ b/drivers/net/wireless/rockchip_wlan/rtl8188eu/platform/platform_ops.c @@ -23,11 +23,13 @@ * 0: power on successfully * others: power on failed */ +#include +extern unsigned int oob_irq; int platform_wifi_power_on(void) { int ret = 0; - + oob_irq = rockchip_wifi_get_oob_irq(); return ret; } diff --git a/drivers/net/wireless/rockchip_wlan/rtl8723cs/Makefile b/drivers/net/wireless/rockchip_wlan/rtl8723cs/Makefile index 2ec9cf85ff00..ac66ab359d2c 100644 --- a/drivers/net/wireless/rockchip_wlan/rtl8723cs/Makefile +++ b/drivers/net/wireless/rockchip_wlan/rtl8723cs/Makefile @@ -78,14 +78,14 @@ CONFIG_RTW_DEBUG = y # please refer to "How_to_set_driver_debug_log_level.doc" to set the available level. CONFIG_RTW_LOG_LEVEL = 2 ######################## Wake On Lan ########################## -CONFIG_WOWLAN = n -CONFIG_GPIO_WAKEUP = n +CONFIG_WOWLAN = y +CONFIG_GPIO_WAKEUP = y CONFIG_DEFAULT_PATTERNS_EN = n CONFIG_WAKEUP_GPIO_IDX = default CONFIG_HIGH_ACTIVE = n CONFIG_PNO_SUPPORT = n CONFIG_PNO_SET_DEBUG = n -CONFIG_AP_WOWLAN = n +CONFIG_AP_WOWLAN = y ######### Notify SDIO Host Keep Power During Syspend ########## CONFIG_RTW_SDIO_PM_KEEP_POWER = y ###################### MP HW TX MODE FOR VHT ####################### @@ -1407,6 +1407,7 @@ EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE # default setting for Power control EXTRA_CFLAGS += -DRTW_ENABLE_WIFI_CONTROL_FUNC EXTRA_CFLAGS += -DRTW_SUPPORT_PLATFORM_SHUTDOWN +EXTRA_CFLAGS += -DCONFIG_RESUME_IN_WORKQUEUE # default setting for Special function ARCH := arm CROSS_COMPILE := /home/android_sdk/Rockchip/Rk3188/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi- diff --git a/drivers/net/wireless/rockchip_wlan/rtl8723cs/hal/hal_com.c b/drivers/net/wireless/rockchip_wlan/rtl8723cs/hal/hal_com.c index bc868ed473e8..4da2380e66da 100644 --- a/drivers/net/wireless/rockchip_wlan/rtl8723cs/hal/hal_com.c +++ b/drivers/net/wireless/rockchip_wlan/rtl8723cs/hal/hal_com.c @@ -3370,7 +3370,7 @@ static void rtw_hal_release_rx_dma(_adapter *adapter) rtw_write32(adapter, REG_RXPKT_NUM, (val32 & (~RW_RELEASE_EN))); RTW_INFO("%s, [0x%04x]: 0x%08x\n", - __func__, REG_RXPKT_NUM, (val32 & (~RW_RELEASE_EN))); + __func__, REG_RXPKT_NUM, (unsigned int)(val32 & (~RW_RELEASE_EN))); } static u8 rtw_hal_pause_rx_dma(_adapter *adapter) diff --git a/drivers/net/wireless/rockchip_wlan/rtl8723cs/os_dep/linux/rtw_android.c b/drivers/net/wireless/rockchip_wlan/rtl8723cs/os_dep/linux/rtw_android.c index 00bfe951fb2e..c7df799ef58d 100644 --- a/drivers/net/wireless/rockchip_wlan/rtl8723cs/os_dep/linux/rtw_android.c +++ b/drivers/net/wireless/rockchip_wlan/rtl8723cs/os_dep/linux/rtw_android.c @@ -1057,7 +1057,7 @@ static int wifi_probe(struct platform_device *pdev) #ifdef CONFIG_GPIO_WAKEUP printk("%s: gpio:%d wifi_wake_gpio:%d\n", __func__, - wifi_irqres->start, wifi_wake_gpio); + (int)wifi_irqres->start, wifi_wake_gpio); if (wifi_wake_gpio > 0) { #ifdef CONFIG_PLATFORM_INTEL_BYT diff --git a/drivers/net/wireless/rockchip_wlan/rtl8723cs/platform/platform_ops.c b/drivers/net/wireless/rockchip_wlan/rtl8723cs/platform/platform_ops.c index 95da669c38b9..f4c2fad88aef 100644 --- a/drivers/net/wireless/rockchip_wlan/rtl8723cs/platform/platform_ops.c +++ b/drivers/net/wireless/rockchip_wlan/rtl8723cs/platform/platform_ops.c @@ -23,11 +23,13 @@ * 0: power on successfully * others: power on failed */ +#include +extern unsigned int oob_irq; int platform_wifi_power_on(void) { int ret = 0; - + oob_irq = rockchip_wifi_get_oob_irq(); return ret; } diff --git a/drivers/net/wireless/rockchip_wlan/rtl8723ds/Makefile b/drivers/net/wireless/rockchip_wlan/rtl8723ds/Makefile index a03b59f9c350..561832a87989 100644 --- a/drivers/net/wireless/rockchip_wlan/rtl8723ds/Makefile +++ b/drivers/net/wireless/rockchip_wlan/rtl8723ds/Makefile @@ -80,14 +80,14 @@ CONFIG_RTW_DEBUG = y # please refer to "How_to_set_driver_debug_log_level.doc" to set the available level. CONFIG_RTW_LOG_LEVEL = 2 ######################## Wake On Lan ########################## -CONFIG_WOWLAN = n +CONFIG_WOWLAN = y CONFIG_WAKEUP_TYPE = 0x7 #bit2: deauth, bit1: unicast, bit0: magic pkt. -CONFIG_GPIO_WAKEUP = n +CONFIG_GPIO_WAKEUP = y CONFIG_WAKEUP_GPIO_IDX = default CONFIG_HIGH_ACTIVE = n CONFIG_PNO_SUPPORT = n CONFIG_PNO_SET_DEBUG = n -CONFIG_AP_WOWLAN = n +CONFIG_AP_WOWLAN = y ######### Notify SDIO Host Keep Power During Syspend ########## CONFIG_RTW_SDIO_PM_KEEP_POWER = y ###################### MP HW TX MODE FOR VHT ####################### @@ -1342,6 +1342,7 @@ EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE # default setting for Power control EXTRA_CFLAGS += -DRTW_ENABLE_WIFI_CONTROL_FUNC EXTRA_CFLAGS += -DRTW_SUPPORT_PLATFORM_SHUTDOWN +EXTRA_CFLAGS += -DCONFIG_RESUME_IN_WORKQUEUE # default setting for Special function ARCH := arm CROSS_COMPILE := /home/android_sdk/Rockchip/Rk3188/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi- diff --git a/drivers/net/wireless/rockchip_wlan/rtl8723ds/hal/hal_com.c b/drivers/net/wireless/rockchip_wlan/rtl8723ds/hal/hal_com.c index 136f16d62373..10b2325d6252 100644 --- a/drivers/net/wireless/rockchip_wlan/rtl8723ds/hal/hal_com.c +++ b/drivers/net/wireless/rockchip_wlan/rtl8723ds/hal/hal_com.c @@ -3879,7 +3879,7 @@ static void rtw_hal_release_rx_dma(_adapter *adapter) rtw_write32(adapter, REG_RXPKT_NUM, (val32 & (~RW_RELEASE_EN))); RTW_INFO("%s, [0x%04x]: 0x%08x\n", - __func__, REG_RXPKT_NUM, (val32 & (~RW_RELEASE_EN))); + __func__, REG_RXPKT_NUM, (unsigned int)(val32 & (~RW_RELEASE_EN))); } static u8 rtw_hal_pause_rx_dma(_adapter *adapter) diff --git a/drivers/net/wireless/rockchip_wlan/rtl8723ds/platform/platform_ops.c b/drivers/net/wireless/rockchip_wlan/rtl8723ds/platform/platform_ops.c index 10766aad8e3b..c281dcb8f121 100644 --- a/drivers/net/wireless/rockchip_wlan/rtl8723ds/platform/platform_ops.c +++ b/drivers/net/wireless/rockchip_wlan/rtl8723ds/platform/platform_ops.c @@ -18,11 +18,13 @@ * 0: power on successfully * others: power on failed */ +#include +extern unsigned int oob_irq; int platform_wifi_power_on(void) { int ret = 0; - + oob_irq = rockchip_wifi_get_oob_irq(); return ret; }