From: Yan-Hsuan Chuang <yhchuang@xxxxxxxxxxx> 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(-) -- 2.17.1