Skip to content

Commit 26da30d

Browse files
Alex Zhaorkhuangtao
authored andcommitted
net: wireless: rockchip_wlan: add network wakeup for 8188eu/8723cs/8723ds
Change-Id: Ib1bd1258a793932a42c0dd4809f7610f34f87fa5 Signed-off-by: Alex Zhao <zzc@rock-chips.com>
1 parent b8e487f commit 26da30d

10 files changed

Lines changed: 25 additions & 16 deletions

File tree

drivers/net/wireless/rockchip_wlan/rtl8188eu/Makefile

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,14 +78,14 @@ CONFIG_RTW_DEBUG = y
7878
# please refer to "How_to_set_driver_debug_log_level.doc" to set the available level.
7979
CONFIG_RTW_LOG_LEVEL = 2
8080
######################## Wake On Lan ##########################
81-
CONFIG_WOWLAN = n
82-
CONFIG_GPIO_WAKEUP = n
81+
CONFIG_WOWLAN = y
82+
CONFIG_GPIO_WAKEUP = y
8383
CONFIG_DEFAULT_PATTERNS_EN = n
8484
CONFIG_WAKEUP_GPIO_IDX = default
8585
CONFIG_HIGH_ACTIVE = n
8686
CONFIG_PNO_SUPPORT = n
8787
CONFIG_PNO_SET_DEBUG = n
88-
CONFIG_AP_WOWLAN = n
88+
CONFIG_AP_WOWLAN = y
8989
######### Notify SDIO Host Keep Power During Syspend ##########
9090
CONFIG_RTW_SDIO_PM_KEEP_POWER = y
9191
###################### MP HW TX MODE FOR VHT #######################
@@ -1424,6 +1424,7 @@ EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN -DCONFIG_PLATFORM_ANDROID -DCONFIG_PLATFO
14241424
# default setting for Android 4.1, 4.2, 4.3, 4.4
14251425
EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT
14261426
EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE
1427+
EXTRA_CFLAGS += -DCONFIG_RESUME_IN_WORKQUEUE
14271428
# default setting for Power control
14281429
#EXTRA_CFLAGS += -DRTW_ENABLE_WIFI_CONTROL_FUNC
14291430
#EXTRA_CFLAGS += -DRTW_SUPPORT_PLATFORM_SHUTDOWN

drivers/net/wireless/rockchip_wlan/rtl8188eu/os_dep/linux/rtw_android.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1057,7 +1057,7 @@ static int wifi_probe(struct platform_device *pdev)
10571057

10581058
#ifdef CONFIG_GPIO_WAKEUP
10591059
printk("%s: gpio:%d wifi_wake_gpio:%d\n", __func__,
1060-
wifi_irqres->start, wifi_wake_gpio);
1060+
(int)wifi_irqres->start, wifi_wake_gpio);
10611061

10621062
if (wifi_wake_gpio > 0) {
10631063
#ifdef CONFIG_PLATFORM_INTEL_BYT

drivers/net/wireless/rockchip_wlan/rtl8188eu/platform/platform_ops.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,13 @@
2323
* 0: power on successfully
2424
* others: power on failed
2525
*/
26+
#include <linux/rfkill-wlan.h>
27+
extern unsigned int oob_irq;
2628
int platform_wifi_power_on(void)
2729
{
2830
int ret = 0;
2931

30-
32+
oob_irq = rockchip_wifi_get_oob_irq();
3133
return ret;
3234
}
3335

drivers/net/wireless/rockchip_wlan/rtl8723cs/Makefile

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,14 +78,14 @@ CONFIG_RTW_DEBUG = y
7878
# please refer to "How_to_set_driver_debug_log_level.doc" to set the available level.
7979
CONFIG_RTW_LOG_LEVEL = 2
8080
######################## Wake On Lan ##########################
81-
CONFIG_WOWLAN = n
82-
CONFIG_GPIO_WAKEUP = n
81+
CONFIG_WOWLAN = y
82+
CONFIG_GPIO_WAKEUP = y
8383
CONFIG_DEFAULT_PATTERNS_EN = n
8484
CONFIG_WAKEUP_GPIO_IDX = default
8585
CONFIG_HIGH_ACTIVE = n
8686
CONFIG_PNO_SUPPORT = n
8787
CONFIG_PNO_SET_DEBUG = n
88-
CONFIG_AP_WOWLAN = n
88+
CONFIG_AP_WOWLAN = y
8989
######### Notify SDIO Host Keep Power During Syspend ##########
9090
CONFIG_RTW_SDIO_PM_KEEP_POWER = y
9191
###################### MP HW TX MODE FOR VHT #######################
@@ -1407,6 +1407,7 @@ EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE
14071407
# default setting for Power control
14081408
EXTRA_CFLAGS += -DRTW_ENABLE_WIFI_CONTROL_FUNC
14091409
EXTRA_CFLAGS += -DRTW_SUPPORT_PLATFORM_SHUTDOWN
1410+
EXTRA_CFLAGS += -DCONFIG_RESUME_IN_WORKQUEUE
14101411
# default setting for Special function
14111412
ARCH := arm
14121413
CROSS_COMPILE := /home/android_sdk/Rockchip/Rk3188/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi-

drivers/net/wireless/rockchip_wlan/rtl8723cs/hal/hal_com.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3370,7 +3370,7 @@ static void rtw_hal_release_rx_dma(_adapter *adapter)
33703370
rtw_write32(adapter, REG_RXPKT_NUM, (val32 & (~RW_RELEASE_EN)));
33713371

33723372
RTW_INFO("%s, [0x%04x]: 0x%08x\n",
3373-
__func__, REG_RXPKT_NUM, (val32 & (~RW_RELEASE_EN)));
3373+
__func__, REG_RXPKT_NUM, (unsigned int)(val32 & (~RW_RELEASE_EN)));
33743374
}
33753375

33763376
static u8 rtw_hal_pause_rx_dma(_adapter *adapter)

drivers/net/wireless/rockchip_wlan/rtl8723cs/os_dep/linux/rtw_android.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1057,7 +1057,7 @@ static int wifi_probe(struct platform_device *pdev)
10571057

10581058
#ifdef CONFIG_GPIO_WAKEUP
10591059
printk("%s: gpio:%d wifi_wake_gpio:%d\n", __func__,
1060-
wifi_irqres->start, wifi_wake_gpio);
1060+
(int)wifi_irqres->start, wifi_wake_gpio);
10611061

10621062
if (wifi_wake_gpio > 0) {
10631063
#ifdef CONFIG_PLATFORM_INTEL_BYT

drivers/net/wireless/rockchip_wlan/rtl8723cs/platform/platform_ops.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,13 @@
2323
* 0: power on successfully
2424
* others: power on failed
2525
*/
26+
#include <linux/rfkill-wlan.h>
27+
extern unsigned int oob_irq;
2628
int platform_wifi_power_on(void)
2729
{
2830
int ret = 0;
2931

30-
32+
oob_irq = rockchip_wifi_get_oob_irq();
3133
return ret;
3234
}
3335

drivers/net/wireless/rockchip_wlan/rtl8723ds/Makefile

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,14 +80,14 @@ CONFIG_RTW_DEBUG = y
8080
# please refer to "How_to_set_driver_debug_log_level.doc" to set the available level.
8181
CONFIG_RTW_LOG_LEVEL = 2
8282
######################## Wake On Lan ##########################
83-
CONFIG_WOWLAN = n
83+
CONFIG_WOWLAN = y
8484
CONFIG_WAKEUP_TYPE = 0x7 #bit2: deauth, bit1: unicast, bit0: magic pkt.
85-
CONFIG_GPIO_WAKEUP = n
85+
CONFIG_GPIO_WAKEUP = y
8686
CONFIG_WAKEUP_GPIO_IDX = default
8787
CONFIG_HIGH_ACTIVE = n
8888
CONFIG_PNO_SUPPORT = n
8989
CONFIG_PNO_SET_DEBUG = n
90-
CONFIG_AP_WOWLAN = n
90+
CONFIG_AP_WOWLAN = y
9191
######### Notify SDIO Host Keep Power During Syspend ##########
9292
CONFIG_RTW_SDIO_PM_KEEP_POWER = y
9393
###################### MP HW TX MODE FOR VHT #######################
@@ -1342,6 +1342,7 @@ EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE
13421342
# default setting for Power control
13431343
EXTRA_CFLAGS += -DRTW_ENABLE_WIFI_CONTROL_FUNC
13441344
EXTRA_CFLAGS += -DRTW_SUPPORT_PLATFORM_SHUTDOWN
1345+
EXTRA_CFLAGS += -DCONFIG_RESUME_IN_WORKQUEUE
13451346
# default setting for Special function
13461347
ARCH := arm
13471348
CROSS_COMPILE := /home/android_sdk/Rockchip/Rk3188/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi-

drivers/net/wireless/rockchip_wlan/rtl8723ds/hal/hal_com.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3879,7 +3879,7 @@ static void rtw_hal_release_rx_dma(_adapter *adapter)
38793879
rtw_write32(adapter, REG_RXPKT_NUM, (val32 & (~RW_RELEASE_EN)));
38803880

38813881
RTW_INFO("%s, [0x%04x]: 0x%08x\n",
3882-
__func__, REG_RXPKT_NUM, (val32 & (~RW_RELEASE_EN)));
3882+
__func__, REG_RXPKT_NUM, (unsigned int)(val32 & (~RW_RELEASE_EN)));
38833883
}
38843884

38853885
static u8 rtw_hal_pause_rx_dma(_adapter *adapter)

drivers/net/wireless/rockchip_wlan/rtl8723ds/platform/platform_ops.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,13 @@
1818
* 0: power on successfully
1919
* others: power on failed
2020
*/
21+
#include <linux/rfkill-wlan.h>
22+
extern unsigned int oob_irq;
2123
int platform_wifi_power_on(void)
2224
{
2325
int ret = 0;
2426

25-
27+
oob_irq = rockchip_wifi_get_oob_irq();
2628
return ret;
2729
}
2830

0 commit comments

Comments
 (0)