mbox series

[v3,00/22] wifi: rtw88: Add support for RTL8821AU and RTL8812AU

Message ID ee6d97b3-0c82-4225-a07f-b0d4043a901a@gmail.com
Headers show
Series wifi: rtw88: Add support for RTL8821AU and RTL8812AU | expand

Message

Bitterblue Smith Oct. 23, 2024, 1:59 p.m. UTC
Patches 1..15 prepare things, patches 16..21 add the new files,
and patch 22 enables their compilation.

There are five new modules: rtw88_88xxa, which contains shared code,
rtw88_8821a and rtw88_8812a, which contain code specific to each chip,
rtw88_8821au, and rtw88_8812au.

More device IDs will be added later because they are not my patches
and I assume they won't need (as m)any revisions. 22 patches is already
a lot.

Also to be added later: USB 3 support for RTL8812AU and RX aggregation
for both chips.

Bitterblue Smith (22):
  wifi: rtw88: Add some definitions for RTL8821AU/RTL8812AU
  wifi: rtw88: Dump the HW features only for some chips
  wifi: rtw88: Allow different C2H RA report sizes
  wifi: rtw88: Extend the init table parsing for RTL8812AU
  wifi: rtw88: Allow rtw_chip_info.ltecoex_addr to be NULL
  wifi: rtw88: Let each driver control the power on/off process
  wifi: rtw88: Enable data rate fallback for older chips
  wifi: rtw88: Make txagc_remnant_ofdm an array
  wifi: rtw88: Support TX page sizes bigger than 128
  wifi: rtw88: Move pwr_track_tbl to struct rtw_rfe_def
  wifi: rtw88: usb: Set pkt_info.ls for the reserved page
  wifi: rtw88: Detect beacon loss with chips other than 8822c
  wifi: rtw88: coex: Support chips without a scoreboard
  wifi: rtw88: 8821a: Regularly ask for BT info updates
  wifi: rtw88: 8812a: Mitigate beacon loss
  wifi: rtw88: Add rtw8812a_table.{c,h}
  wifi: rtw88: Add rtw8821a_table.{c,h}
  wifi: rtw88: Add rtw88xxa.{c,h}
  wifi: rtw88: Add rtw8821a.{c,h}
  wifi: rtw88: Add rtw8812a.{c,h}
  wifi: rtw88: Add rtw8821au.c and rtw8812au.c
  wifi: rtw88: Enable the new RTL8821AU/RTL8812AU drivers

 drivers/net/wireless/realtek/rtw88/Kconfig    |   33 +
 drivers/net/wireless/realtek/rtw88/Makefile   |   15 +
 drivers/net/wireless/realtek/rtw88/coex.c     |   37 +-
 drivers/net/wireless/realtek/rtw88/coex.h     |   11 +
 drivers/net/wireless/realtek/rtw88/debug.c    |    2 +-
 drivers/net/wireless/realtek/rtw88/fw.c       |   44 +-
 drivers/net/wireless/realtek/rtw88/fw.h       |   17 +-
 drivers/net/wireless/realtek/rtw88/mac.c      |   13 +-
 drivers/net/wireless/realtek/rtw88/mac.h      |    3 +
 drivers/net/wireless/realtek/rtw88/main.c     |   35 +-
 drivers/net/wireless/realtek/rtw88/main.h     |   39 +-
 drivers/net/wireless/realtek/rtw88/pci.c      |    2 +-
 drivers/net/wireless/realtek/rtw88/phy.c      |   76 +-
 drivers/net/wireless/realtek/rtw88/reg.h      |  174 +
 drivers/net/wireless/realtek/rtw88/rtw8703b.c |   21 +-
 drivers/net/wireless/realtek/rtw88/rtw8723d.c |   21 +-
 drivers/net/wireless/realtek/rtw88/rtw8723x.c |    3 +-
 drivers/net/wireless/realtek/rtw88/rtw8812a.c | 1102 +++++++
 drivers/net/wireless/realtek/rtw88/rtw8812a.h |   10 +
 .../wireless/realtek/rtw88/rtw8812a_table.c   | 2812 +++++++++++++++++
 .../wireless/realtek/rtw88/rtw8812a_table.h   |   26 +
 .../net/wireless/realtek/rtw88/rtw8812au.c    |   28 +
 drivers/net/wireless/realtek/rtw88/rtw8821a.c | 1197 +++++++
 drivers/net/wireless/realtek/rtw88/rtw8821a.h |   10 +
 .../wireless/realtek/rtw88/rtw8821a_table.c   | 2350 ++++++++++++++
 .../wireless/realtek/rtw88/rtw8821a_table.h   |   21 +
 .../net/wireless/realtek/rtw88/rtw8821au.c    |   28 +
 drivers/net/wireless/realtek/rtw88/rtw8821c.c |   22 +-
 drivers/net/wireless/realtek/rtw88/rtw8821c.h |   24 -
 drivers/net/wireless/realtek/rtw88/rtw8822b.c |   20 +-
 drivers/net/wireless/realtek/rtw88/rtw8822b.h |   12 -
 drivers/net/wireless/realtek/rtw88/rtw8822c.c |   28 +-
 drivers/net/wireless/realtek/rtw88/rtw88xxa.c | 1989 ++++++++++++
 drivers/net/wireless/realtek/rtw88/rtw88xxa.h |  175 +
 drivers/net/wireless/realtek/rtw88/sdio.c     |    2 +-
 drivers/net/wireless/realtek/rtw88/tx.c       |    6 +-
 drivers/net/wireless/realtek/rtw88/tx.h       |    4 +-
 drivers/net/wireless/realtek/rtw88/usb.c      |    5 +-
 38 files changed, 10277 insertions(+), 140 deletions(-)
 create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8812a.c
 create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8812a.h
 create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8812a_table.c
 create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8812a_table.h
 create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8812au.c
 create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8821a.c
 create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8821a.h
 create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8821a_table.c
 create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8821a_table.h
 create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8821au.c
 create mode 100644 drivers/net/wireless/realtek/rtw88/rtw88xxa.c
 create mode 100644 drivers/net/wireless/realtek/rtw88/rtw88xxa.h

Comments

Bitterblue Smith Oct. 30, 2024, 1:14 p.m. UTC | #1
On 30/10/2024 04:54, Ping-Ke Shih wrote:
>>>
>>> Smatch warns
>>>
>>>   drivers/net/wireless/realtek/rtw88/rtw8812a.c:619 rtw8812a_iqk() error: uninitialized symbol
>> 'tx_x1'.
>>>   drivers/net/wireless/realtek/rtw88/rtw8812a.c:621 rtw8812a_iqk() error: uninitialized symbol
>> 'tx_y1'.
>>>
>>
>> These are false positives. The variables are initialised inside
>> rtw88xxa_iqk_finish(). But I'll initialise them when they are
>> declared.
> 
> I see, but the setting under conditions. 
> 
> By the way, tx_x0 and tx_y0 are very similar pattern, but smatch doesn't 
> warn them. Please run smatch again after you fix tx_x1/tx_y1.
> 
> 

Yes, I expect it to complain about all those eight variables,
but it doesn't, even after I fixed tx_x1 and tx_y1. But I initialised
them all just in case.