From: Sean Wang <sean.wang@xxxxxxxxxxxx> I'm submitting some patches that are essential preliminary steps for getting Multi-Link Operation (MLO) up and running smoothly on the MT7925 driver. Before we can activate MLO, we need to do some necessary refactoring work. This involves adjusting how the driver handles certain commands and data to support per-link STA and per-BSS operations. It's like laying down a strong foundation so that MLO can seamlessly integrate with our existing setup. It's important to note that these patches focus solely on refactoring work. We're not changing any of the current functions or logic; we're just making sure everything is structured properly to support MLO when it's enabled. I've tested these patches to make sure they're reliable and won't mess up anything that's already working. Deren Wu (5): wifi: mt76: mt792x: add struct mt792x_bss_conf wifi: mt76: mt792x: add struct mt792x_link_sta wifi: mt76: mt792x: add struct mt792x_chanctx wifi: mt76: mt7925: support for split bss_info_changed method wifi: mt76: mt7925: extend mt7925_mcu_set_tx with for per-link BSS Sean Wang (42): wifi: mt76: mt792x: extend mt76_connac_mcu_uni_add_dev for per-link BSS wifi: mt76: mt7925: extend mt7925_mcu_add_bss_info for per-link BSS wifi: mt76: mt7925: extend mt7925_mcu_set_timing for per-link BSS wifi: mt76: mt7925: extend mt7925_mcu_bss_ifs_tlv for per-link BSS wifi: mt76: mt7925: extend mt7925_mcu_bss_color_tlv for per-link BSS wifi: mt76: mt7925: extend mt7925_mcu_bss_he_tlv for per-link BSS wifi: mt76: mt7925: extend mt7925_mcu_bss_qos_tlv for per-link BSS wifi: mt76: mt7925: extend mt7925_mcu_bss_mld_tlv for per-link BSS wifi: mt76: mt7925: extend mt7925_mcu_bss_bmc_tlv for per-link BSS wifi: mt76: mt7925: remove unused parameters in mt7925_mcu_bss_bmc_tlv wifi: mt76: mt7925: extend mt7925_mcu_bss_sec_tlv for per-link BSS wifi: mt76: mt7925: extend mt7925_mcu_bss_basic_tlv for per-link BSS wifi: mt76: mt7925: extend mt7925_mcu_set_bss_pm for per-link BSS wifi: mt76: mt7925: extend mt7925_mcu_[abort, set]_roc for per-link BSS wifi: mt76: mt7925: extend mt7925_mcu_uni_bss_bcnft for per-link BSS wifi: mt76: mt7925: extend mt7925_mcu_uni_bss_ps for per-link BSS wifi: mt76: mt7925: add mt7925_mcu_bss_rlm_tlv to constitue the RLM TLV wifi: mt76: mt7925: mt7925_mcu_set_chctx rely on mt7925_mcu_bss_rlm_tlv wifi: mt76: mt7925: extend mt7925_mcu_sta_update for per-link STA wifi: mt76: mt7925: extend mt7925_mcu_sta_state_v2_tlv for per-link STA wifi: mt76: mt7925: extend mt7925_mcu_sta_rate_ctrl_tlv with per-link STA wifi: mt76: mt7925: extend mt7925_mcu_sta_eht_tlv for per-link STA wifi: mt76: mt7925: extend mt7925_mcu_sta_he_6g_tlv for per-link STA wifi: mt76: mt7925: extend mt7925_mcu_sta_he_tlv for per-link STA wifi: mt76: mt7925: extend mt7925_mcu_sta_amsdu_tlv for per-link STA wifi: mt76: mt7925: extend mt7925_mcu_sta_vht_tlv for per-link STA wifi: mt76: mt7925: extend mt7925_mcu_sta_ht_tlv for per-link STA wifi: mt76: mt7925: extend mt7925_mcu_sta_phy_tlv for per-link STA wifi: mt76: mt7925: extend mt7925_get_phy_mode_ext for per-link STA wifi: mt76: mt7925: extend mt7925_get_phy_mode for per-link STA wifi: mt76: mt792x: extend mt76_connac_get_phy_mode_v2 for per-link STA wifi: mt76: mt762x: extend mt76_connac_mcu_sta_basic_tlv for per-link STA wifi: mt76: mt7925: extend mt7925_mcu_sta_hdr_trans_tlv for per-link STA wifi: mt76: mt7925: extend mt7925_mcu_add_bss_info for per-link STA wifi: mt76: mt7925: extend mt7925_mcu_bss_mld_tlv for per-link STA wifi: mt76: mt7925: extend mt7925_mcu_bss_basic_tlv for per-link STA wifi: mt76: mt7925: add mt7925_mac_link_sta_add to create per-link STA wifi: mt76: mt7925: add mt7925_mac_link_sta_assoc to associate per-link STA wifi: mt76: mt7925: add mt7925_mac_link_sta_remove to remove per-link STA wifi: mt76: mt7925: add mt7925_mac_link_bss_add to create per-link BSS wifi: mt76: mt7925: add mt7925_mac_link_bss_remove to remove per-link BSS wifi: mt76: mt7925: simpify mt7925_mcu_sta_cmd logic by removing fw_offload .../net/wireless/mediatek/mt76/mt7615/mcu.c | 8 +- .../wireless/mediatek/mt76/mt76_connac_mcu.c | 56 +- .../wireless/mediatek/mt76/mt76_connac_mcu.h | 19 +- .../net/wireless/mediatek/mt76/mt7915/mcu.c | 4 +- .../net/wireless/mediatek/mt76/mt7921/mac.c | 66 +-- .../net/wireless/mediatek/mt76/mt7921/main.c | 143 +++-- .../net/wireless/mediatek/mt76/mt7921/mcu.c | 46 +- .../wireless/mediatek/mt76/mt7921/pci_mac.c | 4 +- .../net/wireless/mediatek/mt76/mt7925/mac.c | 69 +-- .../net/wireless/mediatek/mt76/mt7925/main.c | 452 +++++++++------- .../net/wireless/mediatek/mt76/mt7925/mcu.c | 500 ++++++++++-------- .../net/wireless/mediatek/mt76/mt7925/mcu.h | 25 +- .../wireless/mediatek/mt76/mt7925/mt7925.h | 15 +- .../wireless/mediatek/mt76/mt7925/pci_mac.c | 4 +- drivers/net/wireless/mediatek/mt76/mt792x.h | 78 ++- .../net/wireless/mediatek/mt76/mt792x_core.c | 70 ++- .../net/wireless/mediatek/mt76/mt792x_mac.c | 8 +- .../net/wireless/mediatek/mt76/mt7996/mcu.c | 2 +- 18 files changed, 896 insertions(+), 673 deletions(-) -- 2.34.1