#
8a7386e7 |
|
11-Dec-2023 |
Lorenzo Bianconi <lorenzo@kernel.org> |
wifi: mt76: move wed common utilities in wed.c Introduce wed.c in order to collect mt76 wed common codebase used by mt7915 and mt7996 drivers. Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
d4b85aff |
|
19-Oct-2023 |
Lorenzo Bianconi <lorenzo@kernel.org> |
wifi: mt76: move wed reset common code in mt76 module Move WED reset code shared between mt7915 and mt7996 in common module. This is a preliminary patch to introduce WED reset support for mt7996. Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
2e420b88 |
|
19-Oct-2023 |
Lorenzo Bianconi <lorenzo@kernel.org> |
wifi: mt76: introduce wed pointer in mt76_queue Introduce mtk_wed_device pointer in mt76_queue structure in order to configure WED chip. Get rid of dev parameter in Q_READ and Q_WRITE macros. Introduce wed parameter to the following routine signatures: - mt76_init_queue - mt76_init_tx_queue This is a preliminary patch to introduce WED support for mt7996 since mt7996 runs two separate WED chips. Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
132d74d3 |
|
19-Oct-2023 |
Lorenzo Bianconi <lorenzo@kernel.org> |
wifi: mt76: introduce mt76_queue_is_wed_tx_free utility routine This is a preliminary patch to introduce WED support for mt7996 Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
1e64fdd4 |
|
22-May-2023 |
Bo Jiao <Bo.Jiao@mediatek.com> |
wifi: mt76: mt7915: disable WFDMA Tx/Rx during SER recovery Stop WFDMA transaction to avoid potential unexpected issue while doing system recovery. Signed-off-by: Bo Jiao <Bo.Jiao@mediatek.com> Signed-off-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
6bad146d |
|
15-May-2023 |
Alexander Couzens <lynxis@fe80.eu> |
wifi: mt76: mt7915: add support for MT7981 Add support for the MediaTek MT7981 SoC which is similar to the MT7986 but with a newer IP cores and only 2x ARM Cortex-A53 instead of 4x. Unlike MT7986 the MT7981 can only connect a single wireless frontend, usually MT7976 is used for DBDC. Signed-off-by: Alexander Couzens <lynxis@fe80.eu> Signed-off-by: Daniel Golle <daniel@makrotopia.org> Reviewed-by: Simon Horman <simon.horman@corigine.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
db1a5a6c |
|
22-Feb-2023 |
Sujuan Chen <sujuan.chen@mediatek.com> |
wifi: mt76: mt7915: add dev->hif2 support for mt7916 WED device Enable two PCIe interfaces (dev->hif2) support for mt7916 when WED is enabled. Signed-off-by: Sujuan Chen <sujuan.chen@mediatek.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
c2b9fb63 |
|
17-Jan-2023 |
Lorenzo Bianconi <lorenzo@kernel.org> |
wifi: mt76: mt7915: complete wed reset support Stop Wireless Ethernet Dispatcher during mt7915 reset procedure. Tested-by: Daniel Golle <daniel@makrotopia.org> Co-developed-by: Sujuan Chen <sujuan.chen@mediatek.com> Signed-off-by: Sujuan Chen <sujuan.chen@mediatek.com> Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
36b7fce1 |
|
17-Jan-2023 |
Lorenzo Bianconi <lorenzo@kernel.org> |
wifi: mt76: mt7915: add mt7915 wed reset callbacks Introduce mt7915_mmio_wed_reset_complete and mt7915_mmio_wed_reset_complete callbacks and the related wait queues in order to wait for wed reset completion during wlan reset. Tested-by: Daniel Golle <daniel@makrotopia.org> Co-developed-by: Sujuan Chen <sujuan.chen@mediatek.com> Signed-off-by: Sujuan Chen <sujuan.chen@mediatek.com> Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
3eb50cc9 |
|
30-Nov-2022 |
Ryder Lee <ryder.lee@mediatek.com> |
wifi: mt76: mt7915: rely on band_idx of mt76_phy The commit dc44c45c8cd0 added band_idx into mt76_phy, so switching to rely on that. Signed-off-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
c6cde7b7 |
|
12-Nov-2022 |
Sujuan Chen <sujuan.chen@mediatek.com> |
wifi: mt76: mt7915: enable WED RX stats Introduce the capability to report WED RX stats to mac80211. Tested-by: Daniel Golle <daniel@makrotopia.org> Co-developed-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Sujuan Chen <sujuan.chen@mediatek.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
4f831d18 |
|
12-Nov-2022 |
Lorenzo Bianconi <lorenzo@kernel.org> |
wifi: mt76: mt7915: enable WED RX support Enable RX Wireless Ethernet Dispatch available on MT7986 Soc in oreder to offlad traffic received by WLAN NIC and forwarded to LAN/WAN one. Tested-by: Daniel Golle <daniel@makrotopia.org> Co-developed-by: Sujuan Chen <sujuan.chen@mediatek.com> Signed-off-by: Sujuan Chen <sujuan.chen@mediatek.com> Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
d493bb5b |
|
09-Nov-2022 |
Bo Jiao <bo.jiao@mediatek.com> |
wifi: mt76: mt7915: rework mt7915_dma_reset() Reuse mt7915_dma_disable() to reduce duplicated code. This is a preliminary patch to enable full system reset. Co-developed-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Bo Jiao <Bo.Jiao@mediatek.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
eebb7097 |
|
28-Sep-2022 |
Lorenzo Bianconi <lorenzo@kernel.org> |
wifi: mt76: mt7915: enable wed for mt7986-wmac chipset Enable WED tx support for mt7986-wmac chipset available on mt7986 board. Tested-by: Daniel Golle <daniel@makrotopia.org> Co-developed-by: Bo Jiao <Bo.Jiao@mediatek.com> Signed-off-by: Bo Jiao <Bo.Jiao@mediatek.com> Co-developed-by: Sujuan Chen <sujuan.chen@mediatek.com> Signed-off-by: Sujuan Chen <sujuan.chen@mediatek.com> Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
b7ebf46e |
|
28-Sep-2022 |
Lorenzo Bianconi <lorenzo@kernel.org> |
wifi: mt76: mt7915: enable wed for mt7986 chipset Introduce wed tx support for MT7986 chipset Tested-by: Daniel Golle <daniel@makrotopia.org> Co-developed-by: Bo Jiao <Bo.Jiao@mediatek.com> Signed-off-by: Bo Jiao <Bo.Jiao@mediatek.com> Co-developed-by: Sujuan Chen <sujuan.chen@mediatek.com> Signed-off-by: Sujuan Chen <sujuan.chen@mediatek.com> Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
fc8f841b |
|
30-Jun-2022 |
Lorenzo Bianconi <lorenzo@kernel.org> |
mt76: introduce MT_RXQ_BAND2 and MT_RXQ_BAND2_WA in mt76_rxq_id Rename MT_RXQ_EXT in MT_RXQ_BAND1. Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
9dfb28e9 |
|
23-Jun-2022 |
Lorenzo Bianconi <lorenzo@kernel.org> |
mt76: connac: move tx initialization/cleanup in mt76_connac module Move mt76_connac_init_tx_queues and mt76_connac_tx_cleanup routines in mt76_connac module. This is a preliminary patch to add mt7990 chipset support. Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
f68d6762 |
|
06-Dec-2021 |
Felix Fietkau <nbd@nbd.name> |
mt76: mt7915: add Wireless Ethernet Dispatch support This is used to support hardware flow offloading from Ethernet to WLAN Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
7b8e1ae8 |
|
25-Mar-2022 |
Felix Fietkau <nbd@nbd.name> |
mt76: mt7915: rework hardware/phy initialization Clean up and fix error paths in mt7915_register_device Initialize second DBDC tx queue in mt7915_dma_init Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
3ed27b60 |
|
04-May-2022 |
Jakub Kicinski <kuba@kernel.org> |
mt76: switch to netif_napi_add_tx() Switch to the new API not requiring passing in NAPI_POLL_WEIGHT. Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Kalle Valo <kvalo@kernel.org> Link: https://lore.kernel.org/r/20220504163316.549648-3-kuba@kernel.org
|
#
006b9d4a |
|
08-Feb-2022 |
Bo Jiao <Bo.Jiao@mediatek.com> |
mt76: mt7915: introduce band_idx in mt7915_phy The wfsys of MT7986 has only single adie chip for non-dbdc devices, and it binds to band1 by default. Hence this patch adds band_idx to explicitly configure phy accordingly. Co-developed-by: Sujuan Chen <sujuan.chen@mediatek.com> Signed-off-by: Sujuan Chen <sujuan.chen@mediatek.com> Co-developed-by: Shayne Chen <shayne.chen@mediatek.com> Signed-off-by: Shayne Chen <shayne.chen@mediatek.com> Signed-off-by: Bo Jiao <Bo.Jiao@mediatek.com> Reviewed-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Bo Jiao <Bo.Jiao@mediatek.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
aa79fe87 |
|
19-Dec-2021 |
Bo Jiao <Bo.Jiao@mediatek.com> |
mt76: mt7915: rework dma.c to adapt mt7916 changes The RXQ of mt7916 are separated to MT_RXQ_MAIN_WA and MT_RXQ_MCU_WA, so, add initialization and preftech setting for the queue MT_RXQ_MAIN_WA. This is an intermediate patch to add mt7916 support. Co-developed-by: Sujuan Chen <sujuan.chen@mediatek.com> Signed-off-by: Sujuan Chen <sujuan.chen@mediatek.com> Co-developed-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Bo Jiao <Bo.Jiao@mediatek.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
cd4c314a |
|
19-Dec-2021 |
Bo Jiao <Bo.Jiao@mediatek.com> |
mt76: mt7915: refine register definition Add mt7915_reg_desc to differentiate chip generations. This is an intermediate patch to introduce mt7916 support. Co-developed-by: Sujuan Chen <sujuan.chen@mediatek.com> Signed-off-by: Sujuan Chen <sujuan.chen@mediatek.com> Co-developed-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Bo Jiao <Bo.Jiao@mediatek.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
49c9a263 |
|
09-Jun-2021 |
Lorenzo Bianconi <lorenzo@kernel.org> |
mt76: reduce rx buffer size to 2048 Reduce rx buffer size to 2048 for mt7921/mt7915/mt7615 since we now support rx amsdu offload Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
338330bd |
|
06-May-2021 |
Felix Fietkau <nbd@nbd.name> |
mt76: mt7915: move mt7915_queue_rx_skb to mac.c It is not really DMA specific, and moving it makes it possible to make some functions in mac.c static Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
cb8ed33d |
|
18-Apr-2021 |
Lorenzo Bianconi <lorenzo@kernel.org> |
mt76: dma: add the capability to define a custom rx napi poll routine Add the capability to define a custom rx napi callback for each driver. This is a preliminary patch to properly support runtime-pm on rx side Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
6d88629e |
|
08-Apr-2021 |
Ryder Lee <ryder.lee@mediatek.com> |
mt76: mt7915: add mmio.c Add mmio.c in order to use mt76_bus_ops throughout the driver. It will be also shared with the future APSoC revision. Signed-off-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
aa40528a |
|
26-Jul-2020 |
Felix Fietkau <nbd@nbd.name> |
mt76: use threaded NAPI With threaded NAPI, the rx handler function is no longer bound to the CPU that fired the interrupt, which significantly helps to spread the workload over multiple CPUs, especially when multiple devices are using threaded NAPI at the same time. Exclude the tx handler from threaded NAPI by using a separate dummy netdev. The work is small and short-lived enough that it makes more sense to run it in softirq instead of creating a dedicated thread Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
9093cfff |
|
19-Jan-2021 |
Felix Fietkau <nbd@nbd.name> |
mt76: mt7915: add support for using a secondary PCIe link for gen1 For performance reasons, mt7915 supports using 2 PCIE gen1 links on platforms that don't support gen2. Add support for using this to move traffic for a second DBDC band onto a dedicated link Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
76027f40 |
|
19-Jan-2021 |
Felix Fietkau <nbd@nbd.name> |
mt76: mt7915: bring up the WA event rx queue for band1 This is needed for DBDC cards to work correctly on both bands simultaneously Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
4c430774 |
|
13-Nov-2020 |
Lorenzo Bianconi <lorenzo@kernel.org> |
mt76: mt7915: introduce dbdc support Introduce mt7915 dbdc support. If dbdc is available, mt7915 primary phy will work on 2.4GHz band, while secondary one on 5GHz band. Co-developed-by: Shayne Chen <shayne.chen@mediatek.com> Signed-off-by: Shayne Chen <shayne.chen@mediatek.com> Co-developed-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
91990519 |
|
11-Nov-2020 |
Lorenzo Bianconi <lorenzo@kernel.org> |
mt76: move tx hw data queues in mt76_phy Move hw data queues in mt76_phy from mt76_dev since mt7915 supports per phy hw queues in dbdc mode Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
e637763b |
|
11-Nov-2020 |
Lorenzo Bianconi <lorenzo@kernel.org> |
mt76: move mcu queues to mt76_dev q_mcu array Move mcu queue to a dedicated array q_mcu in mt76_dev structure. This is a preliminary patch to move data queues in mt76_phy and properly support dbdc Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
b1cb42ad |
|
11-Nov-2020 |
Lorenzo Bianconi <lorenzo@kernel.org> |
mt76: introduce mt76_init_mcu_queue utility routine Introduce mt76_init_mcu_queue utility routine in order to allocate dedicate q_mcu pointers for mcu hw queues. This is a preliminary patch to move data queues in mt76_phy and add dbdc support to mt7915 driver Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
e5655492 |
|
11-Nov-2020 |
Lorenzo Bianconi <lorenzo@kernel.org> |
mt76: dma: rely on mt76_queue in mt76_dma_tx_cleanup signature This is a preliminary patch to move data queues in mt76_phy and properly support dbdc Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
b671da33 |
|
11-Nov-2020 |
Lorenzo Bianconi <lorenzo@kernel.org> |
mt76: move mt76_init_tx_queue in common code Move mt76_init_tx_queue in mac80211.c since it is shared by all drivers. Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
5d8a83f0 |
|
21-Oct-2020 |
Shayne Chen <shayne.chen@mediatek.com> |
mt76: mt7915: implement testmode rx support Support testmode rx and display rx statistic by parsing RXV packet type, which is currently only enabled in testmode. Reviewed-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Shayne Chen <shayne.chen@mediatek.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
aab662cc |
|
31-Aug-2020 |
Gustavo A. R. Silva <gustavoars@kernel.org> |
mt76: Use fallthrough pseudo-keyword Replace the existing /* fall through */ comments and its variants with the new pseudo-keyword macro fallthrough[1]. Also, remove unnecessary fall-through markings when it is the case. [1] https://www.kernel.org/doc/html/v5.7/process/deprecated.html?highlight=fallthrough#implicit-switch-case-fall-through Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
781eef5b |
|
24-Jul-2020 |
Felix Fietkau <nbd@nbd.name> |
mt76: convert from tx tasklet to tx worker thread This improves performance by allowing the scheduler to move the tx scheduling work to idle CPUs. Since tx scheduling work is very latency sensitive and kept short via AQL, sched_set_fifo_low is used to keep worker priority above normal tasks Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
f099c2e5 |
|
23-Aug-2020 |
Felix Fietkau <nbd@nbd.name> |
mt76: remove struct mt76_sw_queue All members except for the struct mt76_queue pointer have been removed Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
513d6acb |
|
23-Aug-2020 |
Felix Fietkau <nbd@nbd.name> |
mt76: remove swq from struct mt76_sw_queue Since txq selection was moved to mac80211, it is no longer used Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
c32011bb |
|
25-Jul-2020 |
Felix Fietkau <nbd@nbd.name> |
mt76: mt7915: add support for accessing mapped registers via bus ops Makes it possible to read/write them via debugfs, similar to mt7615/7603 Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
f8a667a9 |
|
22-Aug-2020 |
Felix Fietkau <nbd@nbd.name> |
mt76: mt7915: significantly reduce interrupt load On 7615 and newer, DMA completion only triggers unmap, but not free of queued skbs, since pointers to packets are queued internally. Because of that, there is no need to process the main data queue immediately on DMA completion. To improve performance, mask out the DMA data queue completion interrupt and process the queue only when we receive a txfree event. This brings the number of interrupts under load down to a small fraction. Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
25094459 |
|
28-Jul-2020 |
Felix Fietkau <nbd@nbd.name> |
mt76: mt7915: schedule tx tasklet in mt7915_mac_tx_free The previous scheduling round may have been limited by AQL. More frames might be available after the tx free run. Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
0f1c443c |
|
20-Aug-2020 |
Felix Fietkau <nbd@nbd.name> |
mt76: mt7915: optimize mt7915_mac_sta_poll Since DMA completion does not imply tx completion, it makes more sense to poll for airtime from mt7915_mac_tx_free. Reduce the runtime of the function by moving all items from dev->sta_poll_list to a local list once and process any stations that were added afterwards on the next run Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
38b04398 |
|
07-Aug-2020 |
Felix Fietkau <nbd@nbd.name> |
mt76: mt7915: do not do any work in napi poll after calling napi_complete_done() Fixes a race condition where multiple tx cleanup or sta poll tasks could run in parallel. Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
dc076af5 |
|
21-Jun-2020 |
Ryder Lee <ryder.lee@mediatek.com> |
mt76: mt7915: overwrite qid for non-bufferable mgmt frames Overwrite hw queue id for non-bufferable management frames if the hw/fw support always txq (altxq) in order to be in sync with mac txwi code Signed-off-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
#
e57b7901 |
|
24-Apr-2020 |
Ryder Lee <ryder.lee@mediatek.com> |
mt76: add mac80211 driver for MT7915 PCIe-based chipsets Add support for the MediaTek latest generation IEEE 802.11ax 4x4 device MT7915E, which supports concurrent dual-band operation at both 5GHz and 2.4GHz. Note that this patch just add basic part and will add more HE capabilities support in the further patches. The driver supports AP, Station, Mesh and monitor mode. Signed-off-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Shayne Chen <shayne.chen@mediatek.com> Signed-off-by: Chih-Min Chen <chih-min.chen@mediatek.com> Suggested-by: Shihwei Lin <shihwei.lin@mediatek.com> Tested-by: Evelyn Tsai <evelyn.tsai@mediatek.com> Acked-by: Yiwei Chung <yiwei.chung@mediatek.com> Acked-by: YF Luo <yf.luo@mediatek.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
|