|
|
Subscribe / Log in / New account

wifi: mt76: Add NPU offload support to MT7996 driver

From:  Lorenzo Bianconi <lorenzo-AT-kernel.org>
To:  Felix Fietkau <nbd-AT-nbd.name>, Ryder Lee <ryder.lee-AT-mediatek.com>, Shayne Chen <shayne.chen-AT-mediatek.com>, Sean Wang <sean.wang-AT-mediatek.com>, Matthias Brugger <matthias.bgg-AT-gmail.com>, AngeloGioacchino Del Regno <angelogioacchino.delregno-AT-collabora.com>, Lorenzo Bianconi <lorenzo-AT-kernel.org>
Subject:  [PATCH mt76 v2 0/5] wifi: mt76: Add NPU offload support to MT7996 driver
Date:  Fri, 17 Oct 2025 10:50:28 +0200
Message-ID:  <20251017-mt76-npu-devel-v2-0-ddaa90901723@kernel.org>
Cc:  linux-wireless-AT-vger.kernel.org, linux-arm-kernel-AT-lists.infradead.org, linux-mediatek-AT-lists.infradead.org
Archive-link:  Article

Introduce Airoha NPU support to MT7996 driver. NPU is used to enable
traffic forward offloading between the MT76 NIC and the Airoha ethernet one
available on the Airoha EN7581 SoC using Netfilter Flowtable APIs.

---
Changes in v2:
- Rebase on top of wireless-next main branch
- This patch is based on the following commit avaiable in net-next main
  branch but not in wireless-next one:
  commit 105ce7ad57e492b75ab40f2dc591db645fadbaa2
  net: airoha: npu: Add a NPU callback to initialize flow stats
- Link to v1: https://lore.kernel.org/r/20250910-mt76-npu-devel-v1-0-db...

---
Lorenzo Bianconi (5):
      wifi: mt76: Move Q_READ/Q_WRITE definitions in dma.h
      wifi: mt76: Add mt76_dev pointer in mt76_queue struct.
      wifi: mt76: Add the capability to set TX token start ID
      wifi: mt76: Introduce the NPU generic layer
      wifi: mt76: mt7996: Add NPU offload support to MT7996 driver

 drivers/net/wireless/mediatek/mt76/Kconfig         |   4 +
 drivers/net/wireless/mediatek/mt76/Makefile        |   1 +
 drivers/net/wireless/mediatek/mt76/dma.c           |  73 ++-
 drivers/net/wireless/mediatek/mt76/dma.h           |  67 +++
 drivers/net/wireless/mediatek/mt76/mac80211.c      |   6 +-
 drivers/net/wireless/mediatek/mt76/mt76.h          | 137 ++++++
 drivers/net/wireless/mediatek/mt76/mt7996/Kconfig  |   7 +
 drivers/net/wireless/mediatek/mt76/mt7996/Makefile |   1 +
 drivers/net/wireless/mediatek/mt76/mt7996/dma.c    |  16 +-
 drivers/net/wireless/mediatek/mt76/mt7996/init.c   |  13 +-
 drivers/net/wireless/mediatek/mt76/mt7996/mac.c    |   4 +
 drivers/net/wireless/mediatek/mt76/mt7996/main.c   |  26 +-
 drivers/net/wireless/mediatek/mt76/mt7996/mmio.c   |  13 +-
 drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h |  21 +
 drivers/net/wireless/mediatek/mt76/mt7996/npu.c    | 352 +++++++++++++++
 drivers/net/wireless/mediatek/mt76/mt7996/pci.c    |   3 +
 drivers/net/wireless/mediatek/mt76/npu.c           | 494 +++++++++++++++++++++
 drivers/net/wireless/mediatek/mt76/tx.c            |   6 +-
 include/linux/soc/airoha/airoha_offload.h          |   1 +
 19 files changed, 1187 insertions(+), 58 deletions(-)
---
base-commit: ccc4cf71390c19ea0b95c7879b31ed23f18525d7
change-id: 20250910-mt76-npu-devel-aae84c7cfd73

Best regards,
-- 
Lorenzo Bianconi <lorenzo@kernel.org>




Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds