Enabling MT7925 MLO Mode Support
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v2 Latest37 patches 1 replyIn review
- v129 patches 0 repliesSuperseded
Patches in v2 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/37 | wifi: mt76: mt7925: update mt76_connac_mcu_uni_add_dev for MLOdrivers/ | +4 | 1 reply | |
| 2/37 | wifi: mt76: mt7925: update mt7925_mac_link_sta_[add, assoc, remove] for MLOdrivers/ | +20 | 0 replies | |
| 3/37 | wifi: mt76: mt7925: set Tx queue parameters according to link iddrivers/ | +2 | 0 replies | |
| 4/37 | wifi: mt76: mt7925: set mt7925_mcu_sta_key_tlv according to link iddrivers/ drivers/ drivers/ +1 more | +24 | 0 replies | |
| 5/37 | wifi: mt76: mt7925: add mt7925_set_link_keydrivers/ drivers/ drivers/ | +61 | 0 replies | |
| 6/37 | wifi: mt76: mt7925: extend mt7925_mcu_uni_roc_eventdrivers/ drivers/ | +27 | 0 replies | |
| 7/37 | wifi: mt76: mt7925: add mt7925_change_vif_linksdrivers/ drivers/ drivers/ +3 more | +275 | 0 replies | |
| 8/37 | wifi: mt76: mt7925: add mt7925_change_sta_linksdrivers/ drivers/ | +145 | 0 replies | |
| 9/37 | wifi: mt76: mt7925: add link handling in mt7925_mac_sta_adddrivers/ | +11 | 0 replies | |
| 10/37 | wifi: mt76: mt7925: add link handling in mt7925_mac_sta_removedrivers/ | +7 | 0 replies | |
| 11/37 | wifi: mt76: mt7925: add link handling to txwidrivers/ drivers/ | +33 | 0 replies | |
| 12/37 | wifi: mt76: mt7925: add link handling in mt7925_set_keydrivers/ | +17 | 0 replies | |
| 13/37 | wifi: mt76: mt7925: add link handling to mt7925_change_chanctxdrivers/ | +20 | 0 replies | |
| 14/37 | wifi: mt76: mt7925: add link handling in the BSS_CHANGED_PS handlerdrivers/ | +12 | 0 replies | |
| 15/37 | wifi: mt76: mt7925: add link handling in mt7925_mcu_set_beacon_filterdrivers/ | +17 | 0 replies | |
| 16/37 | wifi: mt76: mt7925: add link handling in mt7925_txwi_freedrivers/ drivers/ | +40 | 0 replies | |
| 17/37 | wifi: mt76: mt7925: add link handling in mt7925_mac_sta_assocdrivers/ drivers/ | +103 | 0 replies | |
| 18/37 | wifi: mt76: mt7925: add link handling in mt7925_sta_set_decap_offloaddrivers/ drivers/ drivers/ | +36 | 0 replies | |
| 19/37 | wifi: mt76: mt7925: add link handling in mt7925_vif_connect_iterdrivers/ | +11 | 0 replies | |
| 20/37 | wifi: mt76: mt7925: add link handling in the BSS_CHANGED_ARP_FILTER handlerdrivers/ drivers/ drivers/ | +14 | 0 replies | |
| 21/37 | wifi: mt76: mt7925: add link handling in the mt7925_ipv6_addr_changedrivers/ | +23 | 0 replies | |
| 22/37 | wifi: mt76: mt7925: update rate index according to link iddrivers/ | +7 | 0 replies | |
| 23/37 | wifi: mt76: mt7925: report link information in rx statusdrivers/ drivers/ drivers/ | +8 | 0 replies | |
| 24/37 | wifi: mt76: add def_wcid to struct mt76_wciddrivers/ drivers/ | +7 | 0 replies | |
| 25/37 | wifi: mt76: mt7925: add mt7925_[assign,unassign]_vif_chanctxdrivers/ drivers/ drivers/ | +82 | 0 replies | |
| 26/37 | wifi: mt76: mt7925: update mt7925_mcu_sta_mld_tlv for MLOdrivers/ | +22 | 0 replies | |
| 27/37 | wifi: mt76: mt7925: update mt7925_mcu_bss_mld_tlv for MLOdrivers/ drivers/ | +17 | 0 replies | |
| 28/37 | wifi: mt76: mt7925: update mt7925_mcu_add_bss_info for MLOdrivers/ | +8 | 0 replies | |
| 29/37 | wifi: mt76: mt7925: update mt7925_mcu_sta_update for MLOdrivers/ drivers/ drivers/ | +78 | 0 replies | |
| 30/37 | wifi: mt76: mt7925: add mt7925_mcu_sta_eht_mld_tlv for MLOdrivers/ drivers/ drivers/ | +53 | 0 replies | |
| 31/37 | wifi: mt76: mt7925: update mt7925_mcu_sta_rate_ctrl_tlv for MLOdrivers/ | +10 | 0 replies | |
| 32/37 | wifi: mt76: mt7925: update mt7925_mcu_sta_phy_tlv for MLOdrivers/ | +2 | 0 replies | |
| 33/37 | wifi: mt76: mt7925: update mt7925_mcu_set_timing for MLOdrivers/ | +2 | 0 replies | |
| 34/37 | wifi: mt76: mt7925: update mt7925_mcu_bss_basic_tlv for MLOdrivers/ | +1 | 0 replies | |
| 35/37 | wifi: mt76: mt7925: update mt7925_mac_link_bss_add for MLOdrivers/ | +3 | 0 replies | |
| 36/37 | wifi: mt76: mt7925: remove the unused mt7925_mcu_set_chan_infodrivers/ | +0 | 0 replies | |
| 37/37 | wifi: mt76: mt7925: enabling MLO when the firmware supports itdrivers/ drivers/ drivers/ +3 more | +59 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.
Cover letter [PATCH v2 00/37] Enabling MT7925 MLO Mode Support
From: Sean Wang <[email protected]>
Hi nbd,
We've worked diligently to prepare the driver for the upcoming MLO-enabled firmware integration in the 6.11 kernel.
We are posting v2 to further enhance and refine the v1 patchset. We hope these improvements can be included in the mt76 pull request for the merge window.
These patches are rebased on commit "74861fbe2d25" (wifi: mt76: mt7925: simplify mt7925_mcu_sta_cmd logic by removing fw_offload) in the mt76 tree. If these changes look okay to you, could you please update them in your tree?
Thank you very much for your assistance.
The details in v2:
Address missing parts and improve driver for the firmware for multilink support
- Added 8 new patches:
- wifi: mt76: mt7925: add link handling in the BSS_CHANGED_ARP_FILTER handler
- wifi: mt76: mt7925: add link handling in mt7925_vif_connect_iter
- wifi: mt76: mt7925: add link handling in the mt7925_ipv6_addr_change
- wifi: mt76: mt7925: update mt7925_mcu_sta_phy_tlv for MLO
- wifi: mt76: mt7925: update mt7925_mcu_set_timing for MLO
- wifi: mt76: mt7925: update mt7925_mcu_bss_basic_tlv for MLO
- wifi: mt76: mt7925: update mt7925_mac_link_bss_add for MLO
- wifi: mt76: mt7925: remove the unused mt7925_mcu_set_chan_info
- Updated the following v1 patches with changes:
- wifi: mt76: mt7925: update mt7925_mcu_bss_mld_tlv for MLO
1. Update group_mld_id with primary link
- wifi: mt76: mt7925: update mt7925_mcu_add_bss_info for MLO
1. Set the bss index per link
2. Set the BC entry per link
- wifi: mt76: mt7925: add link handling in mt7925_set_key
1. Set bss index per link
2. Fix the issue for setting up the BC key
- wifi: mt76: mt7925: add mt7925_[assign, unassign]_vif_chanctx
1. Set the channel context per link
- wifi: mt76: mt7925: add link handling to mt7925_change_chanctx
1. Get the channel context per link
- wifi: mt76: mt7925: add link handling in mt7925_mac_sta_assoc
1. Set the channel context per link
2. Update mt7925_mac_select_links to properly calculate the sel_links
- wifi: mt76: mt7925: update mt76_connac_mcu_uni_add_dev for MLO
1. Set the omac, band index per link
- wifi: mt76: mt7925: update mt7925_mcu_sta_update for MLO
1. Set the bss index per link
- wifi: mt76: mt7925: add link handling in mt7925_mcu_set_beacon_filter
1. Add link handling in the call path of disabling beacon filter
- wifi: mt76: mt7925: update mt7925_mcu_sta_rate_ctrl_tlv for MLO
1. Get the channel context per link
- wifi: mt76: mt7925: update mt7925_mac_link_sta_[add, assoc, remove] for MLO
1. Set the channel context per link
2. Simplify the logic to get mconf
3. Get phy idx per link
4. Also update assoc logic to include the above (1), (2), and (3)
The details in v1:
This patchset introduces comprehensive support for MLO (Multi-Link- Operation) mode on the MT7925 Wi-Fi driver. It includes driver modifications to ensure seamless operation specifically with MLO-enabled firmware environments. The patches included are:
1) Enable the link handling in the existing neccessary functions in the driver for MLO mode.
2) Add MCU TLV handling tailored for the MLO-enabled firmware.
3) Implement .change_vif_links and .change_sta_links callbacks for MLO mode.
4) Register the MLO capability with mac80211 when the driver is operating with the MLO-enabled firmware.
These changes maintain compatibility with non-MLO mode and the older firmware versions.
Sean Wang (37):
wifi: mt76: mt7925: update mt76_connac_mcu_uni_add_dev for MLO
wifi: mt76: mt7925: update mt7925_mac_link_sta_[add, assoc, remove]
for MLO
wifi: mt76: mt7925: set Tx queue parameters according to link id
wifi: mt76: mt7925: set mt7925_mcu_sta_key_tlv according to link id
wifi: mt76: mt7925: add mt7925_set_link_key
wifi: mt76: mt7925: extend mt7925_mcu_uni_roc_event
wifi: mt76: mt7925: add mt7925_change_vif_links
wifi: mt76: mt7925: add mt7925_change_sta_links
wifi: mt76: mt7925: add link handling in mt7925_mac_sta_add
wifi: mt76: mt7925: add link handling in mt7925_mac_sta_remove
wifi: mt76: mt7925: add link handling to txwi
wifi: mt76: mt7925: add link handling in mt7925_set_key
wifi: mt76: mt7925: add link handling to mt7925_change_chanctx
wifi: mt76: mt7925: add link handling in the BSS_CHANGED_PS handler
wifi: mt76: mt7925: add link handling in mt7925_mcu_set_beacon_filter
wifi: mt76: mt7925: add link handling in mt7925_txwi_free
wifi: mt76: mt7925: add link handling in mt7925_mac_sta_assoc
wifi: mt76: mt7925: add link handling in mt7925_sta_set_decap_offload
wifi: mt76: mt7925: add link handling in mt7925_vif_connect_iter
wifi: mt76: mt7925: add link handling in the BSS_CHANGED_ARP_FILTER
handler
wifi: mt76: mt7925: add link handling in the mt7925_ipv6_addr_change
wifi: mt76: mt7925: update rate index according to link id
wifi: mt76: mt7925: report link information in rx status
wifi: mt76: add def_wcid to struct mt76_wcid
wifi: mt76: mt7925: add mt7925_[assign,unassign]_vif_chanctx
wifi: mt76: mt7925: update mt7925_mcu_sta_mld_tlv for MLO
wifi: mt76: mt7925: update mt7925_mcu_bss_mld_tlv for MLO
wifi: mt76: mt7925: update mt7925_mcu_add_bss_info for MLO
wifi: mt76: mt7925: update mt7925_mcu_sta_update for MLO
wifi: mt76: mt7925: add mt7925_mcu_sta_eht_mld_tlv for MLO
wifi: mt76: mt7925: update mt7925_mcu_sta_rate_ctrl_tlv for MLO
wifi: mt76: mt7925: update mt7925_mcu_sta_phy_tlv for MLO
wifi: mt76: mt7925: update mt7925_mcu_set_timing for MLO
wifi: mt76: mt7925: update mt7925_mcu_bss_basic_tlv for MLO
wifi: mt76: mt7925: update mt7925_mac_link_bss_add for MLO
wifi: mt76: mt7925: remove the unused mt7925_mcu_set_chan_info
wifi: mt76: mt7925: enabling MLO when the firmware supports it
drivers/net/wireless/mediatek/mt76/mac80211.c | 5 + drivers/net/wireless/mediatek/mt76/mt76.h | 7 + .../wireless/mediatek/mt76/mt76_connac_mcu.c | 6 +- .../wireless/mediatek/mt76/mt76_connac_mcu.h | 11 + .../net/wireless/mediatek/mt76/mt7925/init.c | 6 + .../net/wireless/mediatek/mt76/mt7925/mac.c | 80 +- .../net/wireless/mediatek/mt76/mt7925/main.c | 730 ++++++++++++++++-- .../net/wireless/mediatek/mt76/mt7925/mcu.c | 538 +++++++++---- .../net/wireless/mediatek/mt76/mt7925/mcu.h | 42 +- .../wireless/mediatek/mt76/mt7925/mt7925.h | 16 +- drivers/net/wireless/mediatek/mt76/mt792x.h | 26 + .../net/wireless/mediatek/mt76/mt792x_core.c | 49 +- 12 files changed, 1249 insertions(+), 267 deletions(-)
Signature · 1 line
2.25.1