Decouple RRO logic (v3.0 and v3.1) from WED support in MT7996 driver in order to reuse it when WED module is not available. Introduce WED offload support for MT7992 chipset in MT7996 driver. --- Changes in v4: - Do not use bitmap for DMA descriptos data. - Link to v3: https://lore.kernel.org/r/20250902-mt7996-rro-rework-v3-0-8f813890959e@xxxxxxxxxx Changes in v3: - Fix compilation warnings - Rebase on top of mt76 main branch - Split patch 4/14 - Link to v2: https://lore.kernel.org/r/20250901-mt7996-rro-rework-v2-0-1f95086b51d1@xxxxxxxxxx Changes in v2: - Fix SER when Wireless Ethernet Dispatcher (WED) is disabled - Rebase on top of mt76 main branch - Link to v1: https://lore.kernel.org/r/20250821-mt7996-rro-rework-v1-0-6c8477ad969f@xxxxxxxxxx --- Lorenzo Bianconi (7): wifi: mt76: Add reset_idx to reset_q mt76_queue_ops signature. wifi: mt76: Remove q->ndesc check in mt76_dma_rx_fill() wifi: mt76: Do not always enable NAPIs for WED RRO queues wifi: mt76: mt7996: Fix tx-queues initialization for second phy on mt7996 wifi: mt76: mt7996: Fix RX packets configuration for primary WED device wifi: mt76: Add rx_queue_init callback wifi: mt76: Add mt76_dma_get_rxdmad_c_buf utility routione Rex Lu (8): wifi: mt76: Differentiate between RRO data and RRO MSDU queues wifi: mt76: mt7996: Initial DMA configuration for MT7992 WED support wifi: mt76: mt7996: Enable HW RRO for MT7992 chipset wifi: mt76: mt7996: Introduce the capability to reset MT7992 WED device wifi: mt76: mt7996: Enable WED for MT7992 chipset wifi: mt76: mt7996: Introduce RRO MSDU callbacks wifi: mt76: mt7996: Decouple RRO logic from WED support wifi: mt76: mt7996: Add SW path for HW-RRO v3.1 drivers/net/wireless/mediatek/mt76/dma.c | 226 ++++++++++--- drivers/net/wireless/mediatek/mt76/dma.h | 29 +- drivers/net/wireless/mediatek/mt76/mt76.h | 54 ++- drivers/net/wireless/mediatek/mt76/mt7915/dma.c | 4 +- drivers/net/wireless/mediatek/mt76/mt792x_dma.c | 6 +- drivers/net/wireless/mediatek/mt76/mt7996/dma.c | 326 ++++++++++++++---- drivers/net/wireless/mediatek/mt76/mt7996/init.c | 310 ++++++++++++----- drivers/net/wireless/mediatek/mt76/mt7996/mac.c | 365 ++++++++++++++++++++- drivers/net/wireless/mediatek/mt76/mt7996/main.c | 19 +- drivers/net/wireless/mediatek/mt76/mt7996/mcu.c | 4 +- drivers/net/wireless/mediatek/mt76/mt7996/mmio.c | 89 +++-- drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h | 91 ++++- drivers/net/wireless/mediatek/mt76/mt7996/pci.c | 3 +- drivers/net/wireless/mediatek/mt76/mt7996/regs.h | 32 +- drivers/net/wireless/mediatek/mt76/wed.c | 8 +- 15 files changed, 1297 insertions(+), 269 deletions(-) --- base-commit: bf71ee05e8ceaa086233d6db2557442c153ba05e change-id: 20250821-mt7996-rro-rework-2490cee0f0d8 Best regards, -- Lorenzo Bianconi <lorenzo@xxxxxxxxxx>