From: sean.wang@kernel.org
To: nbd@nbd.name, lorenzo.bianconi@redhat.com
Cc: sean.wang@mediatek.com, deren.wu@mediatek.com,
mingyen.hsieh@mediatek.com, linux-wireless@vger.kernel.org,
linux-mediatek@lists.infradead.org,
Sean Wang <sean.wang@kernel.org>
Subject: [PATCH v2 00/37] Enabling MT7925 MLO Mode Support
Date: Sat, 6 Jul 2024 01:27:40 -0700 [thread overview]
Message-ID: <cover.1720248331.git.sean.wang@kernel.org> (raw)
From: Sean Wang <sean.wang@kernel.org>
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(-)
--
2.25.1
next reply other threads:[~2024-07-06 8:28 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-06 8:27 sean.wang [this message]
2024-07-06 8:27 ` [PATCH v2 01/37] wifi: mt76: mt7925: update mt76_connac_mcu_uni_add_dev for MLO sean.wang
2024-07-06 12:30 ` Felix Fietkau
2024-07-06 8:27 ` [PATCH v2 02/37] wifi: mt76: mt7925: update mt7925_mac_link_sta_[add, assoc, remove] " sean.wang
2024-07-06 8:27 ` [PATCH v2 03/37] wifi: mt76: mt7925: set Tx queue parameters according to link id sean.wang
2024-07-06 8:27 ` [PATCH v2 04/37] wifi: mt76: mt7925: set mt7925_mcu_sta_key_tlv " sean.wang
2024-07-06 8:27 ` [PATCH v2 05/37] wifi: mt76: mt7925: add mt7925_set_link_key sean.wang
2024-07-06 8:27 ` [PATCH v2 06/37] wifi: mt76: mt7925: extend mt7925_mcu_uni_roc_event sean.wang
2024-07-06 8:27 ` [PATCH v2 07/37] wifi: mt76: mt7925: add mt7925_change_vif_links sean.wang
2024-07-06 8:27 ` [PATCH v2 08/37] wifi: mt76: mt7925: add mt7925_change_sta_links sean.wang
2024-07-06 8:27 ` [PATCH v2 09/37] wifi: mt76: mt7925: add link handling in mt7925_mac_sta_add sean.wang
2024-07-06 8:27 ` [PATCH v2 10/37] wifi: mt76: mt7925: add link handling in mt7925_mac_sta_remove sean.wang
2024-07-06 8:27 ` [PATCH v2 11/37] wifi: mt76: mt7925: add link handling to txwi sean.wang
2024-07-06 8:27 ` [PATCH v2 12/37] wifi: mt76: mt7925: add link handling in mt7925_set_key sean.wang
2024-07-06 8:27 ` [PATCH v2 13/37] wifi: mt76: mt7925: add link handling to mt7925_change_chanctx sean.wang
2024-07-06 8:27 ` [PATCH v2 14/37] wifi: mt76: mt7925: add link handling in the BSS_CHANGED_PS handler sean.wang
2024-07-06 8:27 ` [PATCH v2 15/37] wifi: mt76: mt7925: add link handling in mt7925_mcu_set_beacon_filter sean.wang
2024-07-06 8:27 ` [PATCH v2 16/37] wifi: mt76: mt7925: add link handling in mt7925_txwi_free sean.wang
2024-07-06 8:27 ` [PATCH v2 17/37] wifi: mt76: mt7925: add link handling in mt7925_mac_sta_assoc sean.wang
2024-07-06 8:27 ` [PATCH v2 18/37] wifi: mt76: mt7925: add link handling in mt7925_sta_set_decap_offload sean.wang
2024-07-06 8:27 ` [PATCH v2 19/37] wifi: mt76: mt7925: add link handling in mt7925_vif_connect_iter sean.wang
2024-07-06 8:28 ` [PATCH v2 20/37] wifi: mt76: mt7925: add link handling in the BSS_CHANGED_ARP_FILTER handler sean.wang
2024-07-06 8:28 ` [PATCH v2 21/37] wifi: mt76: mt7925: add link handling in the mt7925_ipv6_addr_change sean.wang
2024-07-06 8:28 ` [PATCH v2 22/37] wifi: mt76: mt7925: update rate index according to link id sean.wang
2024-07-06 8:28 ` [PATCH v2 23/37] wifi: mt76: mt7925: report link information in rx status sean.wang
2024-07-06 8:28 ` [PATCH v2 24/37] wifi: mt76: add def_wcid to struct mt76_wcid sean.wang
2024-07-06 8:28 ` [PATCH v2 25/37] wifi: mt76: mt7925: add mt7925_[assign,unassign]_vif_chanctx sean.wang
2024-07-06 8:28 ` [PATCH v2 26/37] wifi: mt76: mt7925: update mt7925_mcu_sta_mld_tlv for MLO sean.wang
2024-07-06 8:28 ` [PATCH v2 27/37] wifi: mt76: mt7925: update mt7925_mcu_bss_mld_tlv " sean.wang
2024-07-06 8:28 ` [PATCH v2 28/37] wifi: mt76: mt7925: update mt7925_mcu_add_bss_info " sean.wang
2024-07-06 8:28 ` [PATCH v2 29/37] wifi: mt76: mt7925: update mt7925_mcu_sta_update " sean.wang
2024-07-06 8:28 ` [PATCH v2 30/37] wifi: mt76: mt7925: add mt7925_mcu_sta_eht_mld_tlv " sean.wang
2024-07-06 8:28 ` [PATCH v2 31/37] wifi: mt76: mt7925: update mt7925_mcu_sta_rate_ctrl_tlv " sean.wang
2024-07-06 8:28 ` [PATCH v2 32/37] wifi: mt76: mt7925: update mt7925_mcu_sta_phy_tlv " sean.wang
2024-07-06 8:28 ` [PATCH v2 33/37] wifi: mt76: mt7925: update mt7925_mcu_set_timing " sean.wang
2024-07-06 8:28 ` [PATCH v2 34/37] wifi: mt76: mt7925: update mt7925_mcu_bss_basic_tlv " sean.wang
2024-07-06 8:28 ` [PATCH v2 35/37] wifi: mt76: mt7925: update mt7925_mac_link_bss_add " sean.wang
2024-07-06 8:28 ` [PATCH v2 36/37] wifi: mt76: mt7925: remove the unused mt7925_mcu_set_chan_info sean.wang
2024-07-06 8:28 ` [PATCH v2 37/37] wifi: mt76: mt7925: enabling MLO when the firmware supports it sean.wang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1720248331.git.sean.wang@kernel.org \
--to=sean.wang@kernel.org \
--cc=deren.wu@mediatek.com \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-wireless@vger.kernel.org \
--cc=lorenzo.bianconi@redhat.com \
--cc=mingyen.hsieh@mediatek.com \
--cc=nbd@nbd.name \
--cc=sean.wang@mediatek.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).