[PATCH v2 00/12] wifi: rtlwifi: Add new rtl8192du driver

Bitterblue Smith
2024-03-17T18:44:10Z

These patches add a driver for the RTL8192DU chip.

Patch 1 fixes a bug in rtl8192de. Patch 2 depends on it.

Patch 2 moves a good portion of the code from rtl8192de to a new module
rtl8192d-common.

Patch 3 makes some adjustments to rtl8192d-common.

The remaining patches add the new rtl8192du driver.

Power saving is disabled by default because it's not working yet.

Dual MAC chips are not tested.

Until Ping-Ke Shih will add the firmware to the linux-firmware
repository, the driver can be tested with the firmware from Larry
Finger's repository:
https://github.com/lwfinger/rtl8192du/blob/master/rtl8192dufw.bin

v2:
- Add cover letter.
- Implement feedback.
- Fix more problems reported by checkpatch.
- Split the new driver into several patches (4-12) for easier
reviewing.
- More details about the changes can be found in each patch.

Bitterblue Smith (12):
wifi: rtlwifi: rtl8192de: Fix 5 GHz TX power
wifi: rtlwifi: Move code from rtl8192de to rtl8192d-common
wifi: rtlwifi: Adjust rtl8192d-common for USB
wifi: rtlwifi: Add rtl8192du/table.{c,h}
wifi: rtlwifi: Add rtl8192du/hw.{c,h}
wifi: rtlwifi: Add rtl8192du/phy.{c,h}
wifi: rtlwifi: Add rtl8192du/trx.{c,h}
wifi: rtlwifi: Add rtl8192du/rf.{c,h}
wifi: rtlwifi: Add rtl8192du/fw.{c,h} and rtl8192du/led.{c,h}
wifi: rtlwifi: Add rtl8192du/dm.{c,h}
wifi: rtlwifi: Add rtl8192du/sw.{c,h}
wifi: rtlwifi: Enable the new rtl8192du driver

drivers/net/wireless/realtek/rtlwifi/Kconfig | 18 +
drivers/net/wireless/realtek/rtlwifi/Makefile | 2 +
drivers/net/wireless/realtek/rtlwifi/efuse.c | 2 +-
drivers/net/wireless/realtek/rtlwifi/efuse.h | 2 +-
.../realtek/rtlwifi/rtl8192d/Makefile | 11 +
.../rtlwifi/{rtl8192de => rtl8192d}/def.h | 0
.../realtek/rtlwifi/rtl8192d/dm_common.c | 1079 ++++++
.../realtek/rtlwifi/rtl8192d/dm_common.h | 100 +
.../realtek/rtlwifi/rtl8192d/fw_common.c | 390 +++
.../realtek/rtlwifi/rtl8192d/fw_common.h | 49 +
.../realtek/rtlwifi/rtl8192d/hw_common.c | 1218 +++++++
.../realtek/rtlwifi/rtl8192d/hw_common.h | 24 +
.../wireless/realtek/rtlwifi/rtl8192d/main.c | 9 +
.../realtek/rtlwifi/rtl8192d/phy_common.c | 830 +++++
.../realtek/rtlwifi/rtl8192d/phy_common.h | 96 +
.../rtlwifi/{rtl8192de => rtl8192d}/reg.h | 155 +-
.../realtek/rtlwifi/rtl8192d/rf_common.c | 378 ++
.../realtek/rtlwifi/rtl8192d/rf_common.h | 13 +
.../realtek/rtlwifi/rtl8192d/trx_common.c | 516 +++
.../realtek/rtlwifi/rtl8192d/trx_common.h | 442 +++
.../wireless/realtek/rtlwifi/rtl8192de/dm.c | 1072 +-----
.../wireless/realtek/rtlwifi/rtl8192de/dm.h | 91 +-
.../wireless/realtek/rtlwifi/rtl8192de/fw.c | 375 +-
.../wireless/realtek/rtlwifi/rtl8192de/fw.h | 37 -
.../wireless/realtek/rtlwifi/rtl8192de/hw.c | 1168 +------
.../wireless/realtek/rtlwifi/rtl8192de/hw.h | 11 -
.../wireless/realtek/rtlwifi/rtl8192de/led.c | 2 +-
.../wireless/realtek/rtlwifi/rtl8192de/phy.c | 918 +----
.../wireless/realtek/rtlwifi/rtl8192de/phy.h | 59 +-
.../wireless/realtek/rtlwifi/rtl8192de/rf.c | 375 +-
.../wireless/realtek/rtlwifi/rtl8192de/rf.h | 5 -
.../wireless/realtek/rtlwifi/rtl8192de/sw.c | 12 +-
.../wireless/realtek/rtlwifi/rtl8192de/trx.c | 515 +--
.../wireless/realtek/rtlwifi/rtl8192de/trx.h | 433 ---
.../realtek/rtlwifi/rtl8192du/Makefile | 13 +
.../wireless/realtek/rtlwifi/rtl8192du/dm.c | 125 +
.../wireless/realtek/rtlwifi/rtl8192du/dm.h | 10 +
.../wireless/realtek/rtlwifi/rtl8192du/fw.c | 109 +
.../wireless/realtek/rtlwifi/rtl8192du/fw.h | 9 +
.../wireless/realtek/rtlwifi/rtl8192du/hw.c | 1244 +++++++
.../wireless/realtek/rtlwifi/rtl8192du/hw.h | 24 +
.../wireless/realtek/rtlwifi/rtl8192du/led.c | 10 +
.../wireless/realtek/rtlwifi/rtl8192du/led.h | 9 +
.../wireless/realtek/rtlwifi/rtl8192du/phy.c | 3055 +++++++++++++++++
.../wireless/realtek/rtlwifi/rtl8192du/phy.h | 32 +
.../wireless/realtek/rtlwifi/rtl8192du/rf.c | 236 ++
.../wireless/realtek/rtlwifi/rtl8192du/rf.h | 11 +
.../wireless/realtek/rtlwifi/rtl8192du/sw.c | 311 ++
.../wireless/realtek/rtlwifi/rtl8192du/sw.h | 12 +
.../realtek/rtlwifi/rtl8192du/table.c | 1675 +++++++++
.../realtek/rtlwifi/rtl8192du/table.h | 30 +
.../wireless/realtek/rtlwifi/rtl8192du/trx.c | 380 ++
.../wireless/realtek/rtlwifi/rtl8192du/trx.h | 60 +
drivers/net/wireless/realtek/rtlwifi/usb.c | 3 +
drivers/net/wireless/realtek/rtlwifi/wifi.h | 6 +
55 files changed, 12788 insertions(+), 4983 deletions(-)
create mode 100644 drivers/net/wireless/realtek/rtlwifi/rtl8192d/Makefile
rename drivers/net/wireless/realtek/rtlwifi/{rtl8192de => rtl8192d}/def.h (100%)
create mode 100644 drivers/net/wireless/realtek/rtlwifi/rtl8192d/dm_common.c
create mode 100644 drivers/net/wireless/realtek/rtlwifi/rtl8192d/dm_common.h
create mode 100644 drivers/net/wireless/realtek/rtlwifi/rtl8192d/fw_common.c
create mode 100644 drivers/net/wireless/realtek/rtlwifi/rtl8192d/fw_common.h
create mode 100644 drivers/net/wireless/realtek/rtlwifi/rtl8192d/hw_common.c
create mode 100644 drivers/net/wireless/realtek/rtlwifi/rtl8192d/hw_common.h
create mode 100644 drivers/net/wireless/realtek/rtlwifi/rtl8192d/main.c
create mode 100644 drivers/net/wireless/realtek/rtlwifi/rtl8192d/phy_common.c
create mode 100644 drivers/net/wireless/realtek/rtlwifi/rtl8192d/phy_common.h
rename drivers/net/wireless/realtek/rtlwifi/{rtl8192de => rtl8192d}/reg.h (91%)
create mode 100644 drivers/net/wireless/realtek/rtlwifi/rtl8192d/rf_common.c
create mode 100644 drivers/net/wireless/realtek/rtlwifi/rtl8192d/rf_common.h
create mode 100644 drivers/net/wireless/realtek/rtlwifi/rtl8192d/trx_common.c
create mode 100644 drivers/net/wireless/realtek/rtlwifi/rtl8192d/trx_common.h
create mode 100644 drivers/net/wireless/realtek/rtlwifi/rtl8192du/Makefile
create mode 100644 drivers/net/wireless/realtek/rtlwifi/rtl8192du/dm.c
create mode 100644 drivers/net/wireless/realtek/rtlwifi/rtl8192du/dm.h
create mode 100644 drivers/net/wireless/realtek/rtlwifi/rtl8192du/fw.c
create mode 100644 drivers/net/wireless/realtek/rtlwifi/rtl8192du/fw.h
create mode 100644 drivers/net/wireless/realtek/rtlwifi/rtl8192du/hw.c
create mode 100644 drivers/net/wireless/realtek/rtlwifi/rtl8192du/hw.h
create mode 100644 drivers/net/wireless/realtek/rtlwifi/rtl8192du/led.c
create mode 100644 drivers/net/wireless/realtek/rtlwifi/rtl8192du/led.h
create mode 100644 drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
create mode 100644 drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.h
create mode 100644 drivers/net/wireless/realtek/rtlwifi/rtl8192du/rf.c
create mode 100644 drivers/net/wireless/realtek/rtlwifi/rtl8192du/rf.h
create mode 100644 drivers/net/wireless/realtek/rtlwifi/rtl8192du/sw.c
create mode 100644 drivers/net/wireless/realtek/rtlwifi/rtl8192du/sw.h
create mode 100644 drivers/net/wireless/realtek/rtlwifi/rtl8192du/table.c
create mode 100644 drivers/net/wireless/realtek/rtlwifi/rtl8192du/table.h
create mode 100644 drivers/net/wireless/realtek/rtlwifi/rtl8192du/trx.c
create mode 100644 drivers/net/wireless/realtek/rtlwifi/rtl8192du/trx.h

--
2.43.2