mbox series

[v2,00/18] Add MediaTek IEEE 802.11ax devices - MT7915E

Message ID cover.1586895593.git.ryder.lee@mediatek.com (mailing list archive)
Headers show
Series Add MediaTek IEEE 802.11ax devices - MT7915E | expand

Message

Ryder Lee April 14, 2020, 9 p.m. UTC
MT7915E[1] is MediaTek latest generation IEEE 802.11ax device, which
currently supports AP, Station and Mesh mode.

Even though some code of MT7915 are similar to MT7615. New generation has: 
- Huge amounts of HE dedicated parts.
- New designs of PHY/firmware/DMA scheme.
- Most fields of txd/txs/rxd/rxv are rearranged or deprecated.
- Support much more offloading stuff.

Most importantly, for the sake of convenience to get family devices supported
in the future, it was concluded to be simpler to have a clean start for this
generation. This makes maintenance easier and avoids major changes in MT7615,
which currently shares the codes with low power capable device MT7663. It will
increase the risk of regressions in existing flow.

MT7915 supports only basic HE for the moment, whereas other 802.11ax specific
features are work in progress.(e.g. BSS color, TWT, SR, OFDMA and DCM)
They will be gradually added in upcoming days.

The firmwares are available now from https://github.com/ryderlee1110/wireless-fw ,
and will be submitted. At last, the developers are all listed in the series.

[1] https://www.mediatek.com/blog/mediatek-mt7915-wi-fi-6-wave-1-chipset-builds-in-a-range-of-industry-firsts 

Thanks,
Ryder

Changes since v2 -
- drop hw_amsdu patch
- fix kconfig license
- fix debugfs regard to txpower dump issue
- swtich to use "per-phy" to set runtime stream caps for dual band concurrent operation.
- move omac_idx to mt7915_phy to make it independent
- add .get/set_tsf callbacks

Changes since v1 -
- list a missing developer.
- drop unused codes in the hw_tx_amsdu patch.
- add a missing bitwidth change of wcid.
- add more TODO items in the driver.

Ryder Lee (18):
  mt76: avoid rx reorder buffer overflow
  mt76: add support for HE RX rate reporting
  mt76: add Rx stats support for radiotap
  mt76: adjust wcid size to support new 802.11ax generation
  mt76: add HE phy modes and hardware queue
  mt76: add mac80211 driver for MT7915 PCIe-based chipsets
  mt76: mt7915: enable Rx HE rate reporting
  mt76: mt7915: implement HE per-rate tx power support
  mt76: mt7915: register per-phy HE capabilities for each interface
  mt76: mt7915: add HE bss_conf support for interfaces
  mt76: mt7915: add HE capabilities support for peers
  mt76: mt7915: add Rx radiotap header support
  mt76: mt7915: add .sta_add_debugfs support
  mt76: mt7915: add .sta_statistics support
  mt76: mt7915: set peer Tx fixed rate through debugfs
  mt76: mt7915: add tsf related callbacks
  mt76: mt7915: enable firmware module debug support
  mt76: set runtime stream caps by mt76_phy

 drivers/net/wireless/mediatek/mt76/Kconfig    |    1 +
 drivers/net/wireless/mediatek/mt76/Makefile   |    1 +
 drivers/net/wireless/mediatek/mt76/agg-rx.c   |   12 +-
 drivers/net/wireless/mediatek/mt76/mac80211.c |   26 +-
 drivers/net/wireless/mediatek/mt76/mt76.h     |   46 +-
 .../net/wireless/mediatek/mt76/mt7615/init.c  |    4 +-
 .../net/wireless/mediatek/mt76/mt7615/main.c  |    2 +-
 .../wireless/mediatek/mt76/mt76x2/pci_main.c  |    2 +-
 .../net/wireless/mediatek/mt76/mt7915/Kconfig |   13 +
 .../wireless/mediatek/mt76/mt7915/Makefile    |    6 +
 .../wireless/mediatek/mt76/mt7915/debugfs.c   |  418 +++
 .../net/wireless/mediatek/mt76/mt7915/dma.c   |  283 ++
 .../wireless/mediatek/mt76/mt7915/eeprom.c    |  243 ++
 .../wireless/mediatek/mt76/mt7915/eeprom.h    |  125 +
 .../net/wireless/mediatek/mt76/mt7915/init.c  |  589 ++++
 .../net/wireless/mediatek/mt76/mt7915/mac.c   | 1458 +++++++++
 .../net/wireless/mediatek/mt76/mt7915/mac.h   |  346 ++
 .../net/wireless/mediatek/mt76/mt7915/main.c  |  831 +++++
 .../net/wireless/mediatek/mt76/mt7915/mcu.c   | 2770 +++++++++++++++++
 .../net/wireless/mediatek/mt76/mt7915/mcu.h   |  982 ++++++
 .../wireless/mediatek/mt76/mt7915/mt7915.h    |  460 +++
 .../net/wireless/mediatek/mt76/mt7915/pci.c   |  191 ++
 .../net/wireless/mediatek/mt76/mt7915/regs.h  |  355 +++
 23 files changed, 9132 insertions(+), 32 deletions(-)
 create mode 100644 drivers/net/wireless/mediatek/mt76/mt7915/Kconfig
 create mode 100644 drivers/net/wireless/mediatek/mt76/mt7915/Makefile
 create mode 100644 drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
 create mode 100644 drivers/net/wireless/mediatek/mt76/mt7915/dma.c
 create mode 100644 drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c
 create mode 100644 drivers/net/wireless/mediatek/mt76/mt7915/eeprom.h
 create mode 100644 drivers/net/wireless/mediatek/mt76/mt7915/init.c
 create mode 100644 drivers/net/wireless/mediatek/mt76/mt7915/mac.c
 create mode 100644 drivers/net/wireless/mediatek/mt76/mt7915/mac.h
 create mode 100644 drivers/net/wireless/mediatek/mt76/mt7915/main.c
 create mode 100644 drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
 create mode 100644 drivers/net/wireless/mediatek/mt76/mt7915/mcu.h
 create mode 100644 drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
 create mode 100644 drivers/net/wireless/mediatek/mt76/mt7915/pci.c
 create mode 100644 drivers/net/wireless/mediatek/mt76/mt7915/regs.h