mbox series

[v4,0/7] rtw88: add wowlan support for 8822c

Message ID 20191219085816.20709-1-yhchuang@realtek.com (mailing list archive)
Headers show
Series rtw88: add wowlan support for 8822c | expand

Message

Tony Chuang Dec. 19, 2019, 8:58 a.m. UTC
From: Yan-Hsuan Chuang <yhchuang@realtek.com>

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()

v2 -> v3
 * include new patch "rtw88: add interface config for 8822c"

v3 -> v4
 * mark some functions static
 * remove some unnecessary double-underscores


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

Yan-Hsuan Chuang (1):
  rtw88: add interface config for 8822c

 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/hci.h      |   6 +
 drivers/net/wireless/realtek/rtw88/mac.c      |   2 +
 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      |  55 +-
 drivers/net/wireless/realtek/rtw88/reg.h      |  29 +
 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 ++
 15 files changed, 1786 insertions(+), 33 deletions(-)
 create mode 100644 drivers/net/wireless/realtek/rtw88/wow.c
 create mode 100644 drivers/net/wireless/realtek/rtw88/wow.h