[PATCH 0/5] wifi: mt76: add USB RX aggregation support

Lorenzo Bianconi lorenzo at kernel.org
Sun Jun 14 02:26:39 PDT 2026


> This series adds optional USB RX aggregation support to mt76 and enables
> it on mt7927u.
> 
> RX aggregation allows multiple RX frames to be received from one USB URB,
> reducing USB completion overhead and improving RX efficiency for
> high-throughput RX traffic and monitor capture.

Hi Sean,

MT76 usb already supports Scatter-Gather (SG) for RX urbs in order to receive
multiple buffers in the same urb. Since this approach has a better memory
footprint, can we reuse this approach?
Moreover, can you please provide some performance comparison? (e.g. throughput
and memory usage).

Regards,
Lorenzo

> 
> The common USB support remains opt-in, so existing USB drivers keep the
> current behavior unless they explicitly enable RX aggregation. The same
> settings work for both mt7927u and mt7925u, but this series enables the
> feature only on mt7927u for now.
> 
> This series does the following:
> 
> - size RX page-pool pages from the queue buffer size
> - support out-of-order RX URB completion
> - add optional USB RX aggregation parsing
> - add debugfs stats to verify aggregation behavior
> - enable USB RX aggregation on mt7927u
> 
> The series is based on wireless-next commit:
> 
> 21352612198c ("b43: add RF power offset for N-PHY r8 + radio 2057 r8")
> 
> It also cherry-picks the following patch from patchwork as a dependency:
> 
> wifi: mt76: mt76u: use a threaded NAPI for the RX path
> Link: https://lore.kernel.org/all/20260609105301.196302-1-phial@phiality.com/
> 
> Sean Wang (5):
>   wifi: mt76: usb: size RX page-pool pages from queue buffer
>   wifi: mt76: usb: support out-of-order RX URB completion
>   wifi: mt76: usb: add optional RX aggregation support
>   wifi: mt76: usb: add debugfs aggregation stats
>   wifi: mt76: mt7927u: enable USB RX aggregation
> 
>  drivers/net/wireless/mediatek/mt76/debugfs.c  |  35 +++
>  drivers/net/wireless/mediatek/mt76/mac80211.c |   3 +
>  drivers/net/wireless/mediatek/mt76/mt76.h     |  38 ++-
>  .../net/wireless/mediatek/mt76/mt7925/usb.c   |  18 +-
>  .../net/wireless/mediatek/mt76/mt792x_usb.c   |  23 +-
>  drivers/net/wireless/mediatek/mt76/usb.c      | 251 ++++++++++++++++--
>  6 files changed, 335 insertions(+), 33 deletions(-)
> 
> -- 
> 2.43.0
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-mediatek/attachments/20260614/aa04d91f/attachment.sig>


More information about the Linux-mediatek mailing list