[PATCH v3 00/11] RTW88: Add support for USB variants

From: Sascha Hauer
Date: Tue Nov 22 2022 - 09:54:00 EST


This is the third round of adding support for the USB variants to the
RTW88 driver. There are a few changes to the last version which make it
worth looking at this version.

First of all RTL8723du and RTL8821cu are tested working now. The issue
here was that the txdesc checksum calculation was wrong. I found the
correct calculation in various downstream drivers found on github.

The second big issue was that TX packet aggregation was wrong. When
aggregating packets each packet start has to be aligned to eight bytes.
The necessary alignment was added to the total URB length before
checking if there is another packet to aggregate, so the URB length
included that padding after the last packet, which is wrong. Fixing
this makes the driver work much more reliably.

I added all people to Cc: who showed interest in this driver and I want
to welcome you for testing and reviewing.

Sascha


Sascha Hauer (11):
rtw88: print firmware type in info message
rtw88: Call rtw_fw_beacon_filter_config() with rtwdev->mutex held
rtw88: Drop rf_lock
rtw88: Drop h2c.lock
rtw88: Drop coex mutex
rtw88: iterate over vif/sta list non-atomically
rtw88: Add common USB chip support
rtw88: Add rtw8821cu chipset support
rtw88: Add rtw8822bu chipset support
rtw88: Add rtw8822cu chipset support
rtw88: Add rtw8723du chipset support

drivers/net/wireless/realtek/rtw88/Kconfig | 47 +
drivers/net/wireless/realtek/rtw88/Makefile | 14 +
drivers/net/wireless/realtek/rtw88/coex.c | 3 +-
drivers/net/wireless/realtek/rtw88/debug.c | 15 +
drivers/net/wireless/realtek/rtw88/fw.c | 13 +-
drivers/net/wireless/realtek/rtw88/hci.h | 9 +-
drivers/net/wireless/realtek/rtw88/mac.c | 3 +
drivers/net/wireless/realtek/rtw88/mac80211.c | 2 +-
drivers/net/wireless/realtek/rtw88/main.c | 12 +-
drivers/net/wireless/realtek/rtw88/main.h | 12 +-
drivers/net/wireless/realtek/rtw88/phy.c | 6 +-
drivers/net/wireless/realtek/rtw88/ps.c | 2 +-
drivers/net/wireless/realtek/rtw88/reg.h | 1 +
drivers/net/wireless/realtek/rtw88/rtw8723d.c | 28 +
drivers/net/wireless/realtek/rtw88/rtw8723d.h | 13 +-
.../net/wireless/realtek/rtw88/rtw8723du.c | 36 +
.../net/wireless/realtek/rtw88/rtw8723du.h | 10 +
drivers/net/wireless/realtek/rtw88/rtw8821c.c | 18 +
drivers/net/wireless/realtek/rtw88/rtw8821c.h | 21 +
.../net/wireless/realtek/rtw88/rtw8821cu.c | 50 +
.../net/wireless/realtek/rtw88/rtw8821cu.h | 10 +
drivers/net/wireless/realtek/rtw88/rtw8822b.c | 19 +
.../net/wireless/realtek/rtw88/rtw8822bu.c | 90 ++
.../net/wireless/realtek/rtw88/rtw8822bu.h | 10 +
drivers/net/wireless/realtek/rtw88/rtw8822c.c | 24 +
.../net/wireless/realtek/rtw88/rtw8822cu.c | 44 +
.../net/wireless/realtek/rtw88/rtw8822cu.h | 10 +
drivers/net/wireless/realtek/rtw88/tx.h | 31 +
drivers/net/wireless/realtek/rtw88/usb.c | 918 ++++++++++++++++++
drivers/net/wireless/realtek/rtw88/usb.h | 107 ++
drivers/net/wireless/realtek/rtw88/util.c | 103 ++
drivers/net/wireless/realtek/rtw88/util.h | 12 +-
32 files changed, 1655 insertions(+), 38 deletions(-)
create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8723du.c
create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8723du.h
create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8821cu.c
create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8821cu.h
create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8822bu.c
create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8822bu.h
create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8822cu.c
create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8822cu.h
create mode 100644 drivers/net/wireless/realtek/rtw88/usb.c
create mode 100644 drivers/net/wireless/realtek/rtw88/usb.h

--
2.30.2