introduce mt7921e support
Subsystems (2)
[email protected]
reviewerPATCH v3 1/8 mt76: mt7921: add module support
In reply to [email protected]From: Sean Wang <[email protected]>
Add mt7921 as the pci driver module.
The purpose of the patch is to check about if the following patches are able to compile properly.
--- drivers/net/wireless/mediatek/mt76/Kconfig | 1 + drivers/net/wireless/mediatek/mt76/Makefile | 1 + .../net/wireless/mediatek/mt76/mt7921/Kconfig | 10 +++ .../wireless/mediatek/mt76/mt7921/Makefile | 5 ++ .../net/wireless/mediatek/mt76/mt7921/pci.c | 63 +++++++++++++++++++ 5 files changed, 80 insertions(+) create mode 100644 drivers/net/wireless/mediatek/mt76/mt7921/Kconfig create mode 100644 drivers/net/wireless/mediatek/mt76/mt7921/Makefile create mode 100644 drivers/net/wireless/mediatek/mt76/mt7921/pci.c
drivers/net/wireless/mediatek/mt76/Kconfig +1 -0
@@ -29,3 +29,4 @@ source "drivers/net/wireless/mediatek/mt76/mt76x2/Kconfig" source "drivers/net/wireless/mediatek/mt76/mt7603/Kconfig" source "drivers/net/wireless/mediatek/mt76/mt7615/Kconfig" source "drivers/net/wireless/mediatek/mt76/mt7915/Kconfig" +source "drivers/net/wireless/mediatek/mt76/mt7921/Kconfig"
drivers/net/wireless/mediatek/mt76/Makefile +1 -0
@@ -31,3 +31,4 @@ obj-$(CONFIG_MT76x2_COMMON) += mt76x2/ obj-$(CONFIG_MT7603E) += mt7603/ obj-$(CONFIG_MT7615_COMMON) += mt7615/ obj-$(CONFIG_MT7915E) += mt7915/ +obj-$(CONFIG_MT7921E) += mt7921/
drivers/net/wireless/mediatek/mt76/mt7921/Kconfig new file +10 -0
@@ -0,0 +1,10 @@ +# SPDX-License-Identifier: ISC +config MT7921E + tristate "MediaTek MT7921E (PCIe) support" + select MT76_CORE + depends on MAC80211 + depends on PCI + help + This adds support for MT7921E 802.11ax 2x2:2SS wireless devices. + + To compile this driver as a module, choose M here.
drivers/net/wireless/mediatek/mt76/mt7921/Makefile new file +5 -0
@@ -0,0 +1,5 @@ +#SPDX-License-Identifier: ISC + +obj-$(CONFIG_MT7921E) += mt7921e.o + +mt7921e-y := pci.o
drivers/net/wireless/mediatek/mt76/mt7921/pci.c new file +63 -0
63 lines not on this page · raw message
Signature · 5 lines
2.25.1 _______________________________________________ Linux-mediatek mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-mediatek
[email protected]
reviewerPATCH v3 5/8 mt76: mt7921: add EEPROM support
In reply to [email protected]From: Sean Wang <[email protected]>
Add EEPROM support to MT7921 to determine the capability the card has such as indentificaiton, MAC address, the band and antenna number the card able to support.
--- .../wireless/mediatek/mt76/mt7921/Makefile | 2 +- .../wireless/mediatek/mt76/mt7921/eeprom.c | 101 ++++++++++++++++++ .../wireless/mediatek/mt76/mt7921/eeprom.h | 27 +++++ 3 files changed, 129 insertions(+), 1 deletion(-) create mode 100644 drivers/net/wireless/mediatek/mt76/mt7921/eeprom.c create mode 100644 drivers/net/wireless/mediatek/mt76/mt7921/eeprom.h
drivers/net/wireless/mediatek/mt76/mt7921/Makefile +1 -1
@@ -2,4 +2,4 @@ obj-$(CONFIG_MT7921E) += mt7921e.o -mt7921e-y := pci.o mcu.o mac.o dma.o +mt7921e-y := pci.o mcu.o mac.o dma.o eeprom.o
drivers/net/wireless/mediatek/mt76/mt7921/eeprom.c new file +101 -0
101 lines not on this page · raw message
drivers/net/wireless/mediatek/mt76/mt7921/eeprom.h new file +27 -0
@@ -0,0 +1,27 @@ +/* SPDX-License-Identifier: ISC */ +/* Copyright (C) 2020 MediaTek Inc. */ + +#ifndef __MT7921_EEPROM_H +#define __MT7921_EEPROM_H + +#include "mt7921.h" + +enum mt7921_eeprom_field { +MT_EE_CHIP_ID =0x000 , +MT_EE_VERSION =0x002 , +MT_EE_MAC_ADDR =0x004 , +MT_EE_WIFI_CONF =0x07c , + __MT_EE_MAX =0x3bf +}; + +#define MT_EE_WIFI_CONF_TX_MASK BIT(0) +#define MT_EE_WIFI_CONF_BAND_SEL GENMASK(3, 2) + +enum mt7921_eeprom_band { +MT_EE_NA , +MT_EE_5GHZ , +MT_EE_2GHZ , +MT_EE_DUAL_BAND , +}; + +#endif
Signature · 5 lines
2.25.1 _______________________________________________ Linux-mediatek mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-mediatek
[email protected]
reviewerPATCH v3 8/8 mt76: mt7921: add debugfs support
In reply to [email protected]From: Sean Wang <[email protected]>
Add debugfs support to dump driver statistics and hardware details.
--- .../wireless/mediatek/mt76/mt7921/Makefile | 2 +- .../wireless/mediatek/mt76/mt7921/debugfs.c | 178 ++++++++++++++++++ .../net/wireless/mediatek/mt76/mt7921/init.c | 2 +- 3 files changed, 180 insertions(+), 2 deletions(-) create mode 100644 drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c
drivers/net/wireless/mediatek/mt76/mt7921/Makefile +1 -1
@@ -2,4 +2,4 @@ obj-$(CONFIG_MT7921E) += mt7921e.o -mt7921e-y := pci.o mcu.o mac.o dma.o eeprom.o main.o init.o +mt7921e-y := pci.o mcu.o mac.o dma.o eeprom.o main.o init.o debugfs.o
drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c new file +178 -0
178 lines not on this page · raw message
drivers/net/wireless/mediatek/mt76/mt7921/init.c +1 -1
@@ -231,7 +231,7 @@ int mt7921_register_device(struct mt7921_dev *dev)ieee80211_queue_work (mt76_hw (dev), &dev->init_work); -return 0 ; +return mt7921_init_debugfs (dev); }void mt7921_unregister_device (struct mt7921_dev *dev)
Signature · 5 lines
2.25.1 _______________________________________________ Linux-mediatek mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-mediatek
[email protected]
reviewerPATCH v3 4/8 mt76: mt7921: add DMA support
In reply to [email protected]From: Sean Wang <[email protected]>
Add DMA and register access support to MT7921e driver to set up the link for the data movement between the host and MT7921 MAC, or the host and MT7921 MCU.
--- .../wireless/mediatek/mt76/mt7921/Makefile | 2 +- .../net/wireless/mediatek/mt76/mt7921/dma.c | 356 ++++++++++++++++++ .../net/wireless/mediatek/mt76/mt7921/mac.c | 3 + 3 files changed, 360 insertions(+), 1 deletion(-) create mode 100644 drivers/net/wireless/mediatek/mt76/mt7921/dma.c
drivers/net/wireless/mediatek/mt76/mt7921/Makefile +1 -1
@@ -2,4 +2,4 @@ obj-$(CONFIG_MT7921E) += mt7921e.o -mt7921e-y := pci.o mcu.o mac.o +mt7921e-y := pci.o mcu.o mac.o dma.o
drivers/net/wireless/mediatek/mt76/mt7921/dma.c new file +356 -0
356 lines not on this page · raw message
drivers/net/wireless/mediatek/mt76/mt7921/mac.c +3 -0
@@ -1201,6 +1201,9 @@ mt7921_dma_reset(struct mt7921_phy *phy)mt76_queue_rx_reset (dev, i); } +/* re-init prefetch settings after reset */ +mt7921_dma_prefetch (dev); +mt76_set (dev,MT_WFDMA0_GLO_CFG ,MT_WFDMA0_GLO_CFG_TX_DMA_EN |MT_WFDMA0_GLO_CFG_RX_DMA_EN ); }
Signature · 5 lines
2.25.1 _______________________________________________ Linux-mediatek mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-mediatek
[email protected]
reviewerPATCH v3 6/8 mt76: mt7921: add ieee80211_ops
In reply to [email protected]From: Sean Wang <[email protected]>
Filling ieee80211_ops with the mt7921 operations.
--- .../wireless/mediatek/mt76/mt7921/Makefile | 2 +- .../net/wireless/mediatek/mt76/mt7921/main.c | 929 ++++++++++++++++++ 2 files changed, 930 insertions(+), 1 deletion(-) create mode 100644 drivers/net/wireless/mediatek/mt76/mt7921/main.c
drivers/net/wireless/mediatek/mt76/mt7921/Makefile +1 -1
@@ -2,4 +2,4 @@ obj-$(CONFIG_MT7921E) += mt7921e.o -mt7921e-y := pci.o mcu.o mac.o dma.o eeprom.o +mt7921e-y := pci.o mcu.o mac.o dma.o eeprom.o main.o
drivers/net/wireless/mediatek/mt76/mt7921/main.c new file +929 -0
929 lines not on this page · raw message
Signature · 5 lines
2.25.1 _______________________________________________ Linux-mediatek mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-mediatek
[email protected]
reviewerPATCH v3 2/8 mt76: mt7921: add MCU support
In reply to [email protected]From: Sean Wang <[email protected]>
MT7921 contains a microprocessor with which the host can use command/event to communicate to implement offload features such as establish connection, hardware scan and so on. The host has to download the ROM patch, RAM firmware and finally activate the MCU to complete the MT7921 initialization.
--- .../wireless/mediatek/mt76/mt7921/Makefile | 2 +- .../net/wireless/mediatek/mt76/mt7921/mac.h | 333 +++ .../net/wireless/mediatek/mt76/mt7921/mcu.c | 2391 +++++++++++++++++ .../net/wireless/mediatek/mt76/mt7921/mcu.h | 1075 ++++++++ .../wireless/mediatek/mt76/mt7921/mt7921.h | 352 +++ .../net/wireless/mediatek/mt76/mt7921/regs.h | 413 +++ 6 files changed, 4565 insertions(+), 1 deletion(-) create mode 100644 drivers/net/wireless/mediatek/mt76/mt7921/mac.h create mode 100644 drivers/net/wireless/mediatek/mt76/mt7921/mcu.c create mode 100644 drivers/net/wireless/mediatek/mt76/mt7921/mcu.h create mode 100644 drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h create mode 100644 drivers/net/wireless/mediatek/mt76/mt7921/regs.h
drivers/net/wireless/mediatek/mt76/mt7921/Makefile +1 -1
@@ -2,4 +2,4 @@ obj-$(CONFIG_MT7921E) += mt7921e.o -mt7921e-y := pci.o +mt7921e-y := pci.o mcu.o
drivers/net/wireless/mediatek/mt76/mt7921/mac.h new file +333 -0
333 lines not on this page · raw message
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c new file +2391 -0
2,391 lines not on this page · raw message
drivers/net/wireless/mediatek/mt76/mt7921/mcu.h new file +1075 -0
271 lines not on this page · raw message
drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h new file +352 -0
352 lines not on this page · raw message
drivers/net/wireless/mediatek/mt76/mt7921/regs.h new file +413 -0
413 lines not on this page · raw message
The rest of this diff is not shown. View the raw message.
Signature · 5 lines
2.25.1 _______________________________________________ Linux-mediatek mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-mediatek
Part of the diff is not shown here. View the raw message.
[email protected]
reviewerv3 cover introduce mt7921e support
From: Sean Wang <[email protected]>
Introduce support for mt7921e 802.11ax (Wi-Fi 6) 2x2:2SS chipset.
v2:
- Mark the patch as -next
v3:
- Remove sw scan support
- Get rid of dbdc code
- Run mt7921_configure_filter hodling mt76 mutex
- Correct Txp programming in Txd
- Correct fw log to host command
- Correct eeprom offset definition
- Update rate adaption info report
- Remove unused code and fields in struture
- Split the previous driver into several patches for easy review
Sean Wang (8):
mt76: mt7921: add module support
mt76: mt7921: add MCU support
mt76: mt7921: add MAC support
mt76: mt7921: add DMA support
mt76: mt7921: add EEPROM support
mt76: mt7921: add ieee80211_ops
mt76: mt7921: introduce mt7921e support
mt76: mt7921: add debugfs support
drivers/net/wireless/mediatek/mt76/Kconfig | 1 + drivers/net/wireless/mediatek/mt76/Makefile | 1 + .../net/wireless/mediatek/mt76/mt7921/Kconfig | 10 + .../wireless/mediatek/mt76/mt7921/Makefile | 5 + .../wireless/mediatek/mt76/mt7921/debugfs.c | 178 ++ .../net/wireless/mediatek/mt76/mt7921/dma.c | 356 +++ .../wireless/mediatek/mt76/mt7921/eeprom.c | 101 + .../wireless/mediatek/mt76/mt7921/eeprom.h | 27 + .../net/wireless/mediatek/mt76/mt7921/init.c | 263 ++ .../net/wireless/mediatek/mt76/mt7921/mac.c | 1367 ++++++++++ .../net/wireless/mediatek/mt76/mt7921/mac.h | 333 +++ .../net/wireless/mediatek/mt76/mt7921/main.c | 929 +++++++ .../net/wireless/mediatek/mt76/mt7921/mcu.c | 2391 +++++++++++++++++ .../net/wireless/mediatek/mt76/mt7921/mcu.h | 1075 ++++++++ .../wireless/mediatek/mt76/mt7921/mt7921.h | 352 +++ .../net/wireless/mediatek/mt76/mt7921/pci.c | 184 ++ .../net/wireless/mediatek/mt76/mt7921/regs.h | 413 +++ 17 files changed, 7986 insertions(+) create mode 100644 drivers/net/wireless/mediatek/mt76/mt7921/Kconfig create mode 100644 drivers/net/wireless/mediatek/mt76/mt7921/Makefile create mode 100644 drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c create mode 100644 drivers/net/wireless/mediatek/mt76/mt7921/dma.c create mode 100644 drivers/net/wireless/mediatek/mt76/mt7921/eeprom.c create mode 100644 drivers/net/wireless/mediatek/mt76/mt7921/eeprom.h create mode 100644 drivers/net/wireless/mediatek/mt76/mt7921/init.c create mode 100644 drivers/net/wireless/mediatek/mt76/mt7921/mac.c create mode 100644 drivers/net/wireless/mediatek/mt76/mt7921/mac.h create mode 100644 drivers/net/wireless/mediatek/mt76/mt7921/main.c create mode 100644 drivers/net/wireless/mediatek/mt76/mt7921/mcu.c create mode 100644 drivers/net/wireless/mediatek/mt76/mt7921/mcu.h create mode 100644 drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h create mode 100644 drivers/net/wireless/mediatek/mt76/mt7921/pci.c create mode 100644 drivers/net/wireless/mediatek/mt76/mt7921/regs.h
--
2.25.1
[email protected]
reviewerPATCH v3 3/8 mt76: mt7921: add MAC support
From: Sean Wang <[email protected]>
Add Rx packet description parsing, Tx packet description compositon, handle packet recycling and provide MAC information mt76 core needs to support mac80211.
--- .../wireless/mediatek/mt76/mt7921/Makefile | 2 +- .../net/wireless/mediatek/mt76/mt7921/mac.c | 1364 +++++++++++++++++ 2 files changed, 1365 insertions(+), 1 deletion(-) create mode 100644 drivers/net/wireless/mediatek/mt76/mt7921/mac.c
drivers/net/wireless/mediatek/mt76/mt7921/Makefile +1 -1
@@ -2,4 +2,4 @@ obj-$(CONFIG_MT7921E) += mt7921e.o -mt7921e-y := pci.o mcu.o +mt7921e-y := pci.o mcu.o mac.o
drivers/net/wireless/mediatek/mt76/mt7921/mac.c new file +1364 -0
1,364 lines not on this page · raw message
Signature · 1 line
2.25.1
[email protected]
reviewerPATCH v3 7/8 mt76: mt7921: introduce mt7921e support
In reply to [email protected]From: Sean Wang <[email protected]>
Introduce support for mt7921e 802.11ax (Wi-Fi 6) 2x2:2SS chipset.
--- .../wireless/mediatek/mt76/mt7921/Makefile | 2 +- .../net/wireless/mediatek/mt76/mt7921/init.c | 263 ++++++++++++++++++ .../net/wireless/mediatek/mt76/mt7921/pci.c | 121 ++++++++ 3 files changed, 385 insertions(+), 1 deletion(-) create mode 100644 drivers/net/wireless/mediatek/mt76/mt7921/init.c
drivers/net/wireless/mediatek/mt76/mt7921/Makefile +1 -1
@@ -2,4 +2,4 @@ obj-$(CONFIG_MT7921E) += mt7921e.o -mt7921e-y := pci.o mcu.o mac.o dma.o eeprom.o main.o +mt7921e-y := pci.o mcu.o mac.o dma.o eeprom.o main.o init.o
drivers/net/wireless/mediatek/mt76/mt7921/init.c new file +263 -0
263 lines not on this page · raw message
drivers/net/wireless/mediatek/mt76/mt7921/pci.c +121 -0
155 lines not on this page · raw message
Signature · 1 line
2.25.1