From: Yan-Hsuan Chuang <yhchuang@xxxxxxxxxxx> Add wake on wireless LAN support for 8822c. When system enters suspend, wifi driver can enable wowlan mode, and waits for waking host up by receiving wireless LAN events. Events could be AP lost, deauthed, magic packets, rekey, or patterns. Also most of the functions can be shutdown to reduce power consumption. To enter wowlan mode, Realtek's devices need to swap to another firmware called wowlan firmware. It can monitor special events and generate wake up signals if necessary. To swap the firmware, driver needs to re-configure the HCI link, to make sure that the link is idle, reset the link for sending H2C commands to wowlan firmware, and then stop the link. After wake up signals generated and sent to host, driver needs to swap back to normal firmware to get to the original state before suspend. So it should setup the link again and send H2C commands to firmware to restore the information. v1 -> v2 * remove duplicated rtw_pci_dma_reset() Chin-Yen Lee (6): rtw88: pci: reset ring index when release skbs in tx ring rtw88: pci: reset dma when reset pci trx ring rtw88: load wowlan firmware if wowlan is supported rtw88: support wowlan feature for 8822c rtw88: Add wowlan pattern match support rtw88: add wowlan net-detect support drivers/net/wireless/realtek/rtw88/Makefile | 1 + drivers/net/wireless/realtek/rtw88/debug.h | 1 + drivers/net/wireless/realtek/rtw88/fw.c | 384 +++++++- drivers/net/wireless/realtek/rtw88/fw.h | 186 ++++ drivers/net/wireless/realtek/rtw88/mac80211.c | 44 + drivers/net/wireless/realtek/rtw88/main.c | 76 +- drivers/net/wireless/realtek/rtw88/main.h | 67 ++ drivers/net/wireless/realtek/rtw88/pci.c | 38 +- drivers/net/wireless/realtek/rtw88/reg.h | 27 + drivers/net/wireless/realtek/rtw88/rtw8822c.c | 18 + drivers/net/wireless/realtek/rtw88/util.h | 2 + drivers/net/wireless/realtek/rtw88/wow.c | 890 ++++++++++++++++++ drivers/net/wireless/realtek/rtw88/wow.h | 58 ++ 13 files changed, 1759 insertions(+), 33 deletions(-) create mode 100644 drivers/net/wireless/realtek/rtw88/wow.c create mode 100644 drivers/net/wireless/realtek/rtw88/wow.h -- 2.17.1