mbox series

[00/14] rtw88: add software TX queue support

Message ID 20191002063531.18135-1-yhchuang@realtek.com (mailing list archive)
Headers show
Series rtw88: add software TX queue support | expand

Message

Tony Chuang Oct. 2, 2019, 6:35 a.m. UTC
From: Yan-Hsuan Chuang <yhchuang@realtek.com>

This adds support for software TX queue that is provided by
mac80211 stack. Also can take advantage of AMSDU, by letting
it to aggregate the MSDUs in the TX queue.

With software TX queue, driver can handle the rate control
mechanism, by set/check the current state of the TX queues.

If driver is going to use software TX queue, it is better to
also add ieee80211_ops::flush for better control of either
software/hardware queues. This can help mac80211 to flush
the queues whenever it wants to.

And TX queues should follow the EDCA params, add
ieee80211_ops::conf_tx to setup the parameters accordingly.

There's also some fixes for the driver. One can check in
the log to see what the fixes for. The most important fix
is ("rtw88: fix beaconing mode rsvd_page memory violation issue").
Because there's kernel memory violation that could generate
protection fault, when user wants to start beaconing modes
such as AP.


Chin-Yen Lee (1):
  rtw88: check firmware leave lps successfully

Ping-Ke Shih (4):
  rtw88: Don't set RX_FLAG_DECRYPTED if packet has no encryption
  rtw88: use struct rtw_fw_hdr to access firmware header
  rtw88: fix NSS of hw_cap
  rtw88: fix error handling when setup efuse info

Tzu-En Huang (1):
  rtw88: report tx rate to mac80211 stack

Yan-Hsuan Chuang (8):
  rtw88: allows to set RTS in TX descriptor
  rtw88: add driver TX queue support
  rtw88: take over rate control from mac80211
  rtw88: add TX-AMSDU support
  rtw88: flush hardware tx queues
  rtw88: fix beaconing mode rsvd_page memory violation issue
  rtw88: configure TX queue EDCA parameters
  rtw88: raise firmware version debug level

 drivers/net/wireless/realtek/rtw88/fw.c       | 149 ++++++++++++++++-
 drivers/net/wireless/realtek/rtw88/fw.h       |  51 ++++--
 drivers/net/wireless/realtek/rtw88/mac.c      | 131 ++++++++++++---
 drivers/net/wireless/realtek/rtw88/mac.h      |   1 +
 drivers/net/wireless/realtek/rtw88/mac80211.c | 154 +++++++++++++++++-
 drivers/net/wireless/realtek/rtw88/main.c     |  70 +++++++-
 drivers/net/wireless/realtek/rtw88/main.h     |  50 +++++-
 drivers/net/wireless/realtek/rtw88/ps.c       |  29 ++++
 drivers/net/wireless/realtek/rtw88/ps.h       |   2 +
 drivers/net/wireless/realtek/rtw88/reg.h      |   5 +
 drivers/net/wireless/realtek/rtw88/rtw8822b.c |   3 +-
 drivers/net/wireless/realtek/rtw88/rtw8822c.c |   7 +-
 drivers/net/wireless/realtek/rtw88/rx.c       |  22 +--
 drivers/net/wireless/realtek/rtw88/rx.h       |  11 ++
 drivers/net/wireless/realtek/rtw88/tx.c       | 133 +++++++++++++++
 drivers/net/wireless/realtek/rtw88/tx.h       |   8 +
 drivers/net/wireless/realtek/rtw88/util.c     |  27 +++
 17 files changed, 767 insertions(+), 86 deletions(-)