mbox series

[00/18] rtw89: add Realtek 802.11ax driver

Message ID 20201230044223.14085-1-pkshih@realtek.com
Headers show
Series rtw89: add Realtek 802.11ax driver | expand

Message

Ping-Ke Shih Dec. 30, 2020, 4:42 a.m. UTC
This driver named rtw89, which is the next generation of rtw88, supports
Realtek 8852AE 802.11ax 2x2 chip whose new features are OFDMA, DBCC,
Spatial reuse, TWT and BSS coloring; now some of them aren't implemented
though.

The chip architecture is entirely different from the chips supported by
rtw88 like RTL8822CE 802.11ac chip. First of all, register address ranges
are totally redefined, so it's impossible to reuse register definition. To
communicate with firmware, new H2C/C2H format is proposed. In order to have
better utilization, TX DMA flow is changed to two stages DMA. To provide
rich RX status information, additional RX PPDU packets are added.

Since there are so many differences mentioned above, we decide to propose
a new driver. It has many authors, they are listed in alphabetic order:

Chin-Yen Lee <timlee@realtek.com>
Ping-Ke Shih <pkshih@realtek.com>
Po Hao Huang <phhuang@realtek.com>
Tzu-En Huang <tehuang@realtek.com>
Vincent Fann <vincent_fann@realtek.com>
Yan-Hsuan Chuang <tony0620emma@gmail.com>
Zong-Zhe Yang <kevin_yang@realtek.com>

Ping-Ke Shih (18):
  rtw89: add CAM files
  rtw89: add BT coexistence files
  rtw89: add core and trx files
  rtw89: add debug files
  rtw89: add efuse files
  rtw89: add files to download and communicate with firmware
  rtw89: add MAC files
  rtw89: implement mac80211 ops
  rtw89: add pci files
  rtw89: add phy files
  rtw89: define register names
  rtw89: add regulatory support
  rtw89: 8852a: add 8852a specific files
  rtw89: 8852a: add 8852a RFK files
  rtw89: 8852a: add 8852a RFK tables
  rtw89: 8852a: add 8852a tables
  rtw89: add ser to recover error reported by firmware
  rtw89: add Kconfig and Makefile

 drivers/net/wireless/realtek/Kconfig          |     1 +
 drivers/net/wireless/realtek/Makefile         |     1 +
 drivers/net/wireless/realtek/rtw89/Kconfig    |    50 +
 drivers/net/wireless/realtek/rtw89/Makefile   |    23 +
 drivers/net/wireless/realtek/rtw89/cam.c      |   671 +
 drivers/net/wireless/realtek/rtw89/cam.h      |   162 +
 drivers/net/wireless/realtek/rtw89/coex.c     |   386 +
 drivers/net/wireless/realtek/rtw89/coex.h     |   100 +
 drivers/net/wireless/realtek/rtw89/core.c     |  1736 ++
 drivers/net/wireless/realtek/rtw89/core.h     |  1911 ++
 drivers/net/wireless/realtek/rtw89/debug.c    |  1928 ++
 drivers/net/wireless/realtek/rtw89/debug.h    |    73 +
 drivers/net/wireless/realtek/rtw89/efuse.c    |   190 +
 drivers/net/wireless/realtek/rtw89/efuse.h    |    11 +
 drivers/net/wireless/realtek/rtw89/fw.c       |   990 +
 drivers/net/wireless/realtek/rtw89/fw.h       |  1054 +
 drivers/net/wireless/realtek/rtw89/mac.c      |  3259 ++
 drivers/net/wireless/realtek/rtw89/mac.h      |   761 +
 drivers/net/wireless/realtek/rtw89/mac80211.c |   523 +
 drivers/net/wireless/realtek/rtw89/pci.c      |  2580 ++
 drivers/net/wireless/realtek/rtw89/pci.h      |   560 +
 drivers/net/wireless/realtek/rtw89/phy.c      |  2470 ++
 drivers/net/wireless/realtek/rtw89/phy.h      |   276 +
 drivers/net/wireless/realtek/rtw89/reg.h      |  1843 ++
 drivers/net/wireless/realtek/rtw89/regd.c     |   352 +
 drivers/net/wireless/realtek/rtw89/rtw8852a.c |  1342 +
 drivers/net/wireless/realtek/rtw89/rtw8852a.h |    76 +
 .../net/wireless/realtek/rtw89/rtw8852a_rfk.c |  3562 +++
 .../net/wireless/realtek/rtw89/rtw8852a_rfk.h |    18 +
 .../realtek/rtw89/rtw8852a_rfk_table.c        |  1562 +
 .../realtek/rtw89/rtw8852a_rfk_table.h        |   127 +
 .../wireless/realtek/rtw89/rtw8852a_table.c   | 24998 ++++++++++++++++
 .../wireless/realtek/rtw89/rtw8852a_table.h   |    26 +
 drivers/net/wireless/realtek/rtw89/ser.c      |   430 +
 drivers/net/wireless/realtek/rtw89/ser.h      |    12 +
 drivers/net/wireless/realtek/rtw89/txrx.h     |   385 +
 36 files changed, 54449 insertions(+)
 create mode 100644 drivers/net/wireless/realtek/rtw89/Kconfig
 create mode 100644 drivers/net/wireless/realtek/rtw89/Makefile
 create mode 100644 drivers/net/wireless/realtek/rtw89/cam.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/cam.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/coex.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/coex.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/core.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/core.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/debug.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/debug.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/efuse.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/efuse.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/fw.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/fw.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/mac.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/mac.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/mac80211.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/pci.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/pci.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/phy.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/phy.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/reg.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/regd.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/rtw8852a.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/rtw8852a.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/rtw8852a_rfk_table.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/rtw8852a_rfk_table.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/rtw8852a_table.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/rtw8852a_table.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/ser.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/ser.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/txrx.h