mbox series

[00/47] Prerequisite Refactoring for Enabling MLO on MT7925

Message ID 20240613030241.5771-1-sean.wang@kernel.org
Headers show
Series Prerequisite Refactoring for Enabling MLO on MT7925 | expand

Message

Sean Wang June 13, 2024, 3:01 a.m. UTC
From: Sean Wang <sean.wang@mediatek.com>

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(-)