|
|
Log in / Subscribe / Register

wifi: ath12k: prepare vif and sta datastructure

From:  Rameshkumar Sundaram <quic_ramess-AT-quicinc.com>
To:  <ath12k-AT-lists.infradead.org>
Subject:  [PATCH v5 0/3] wifi: ath12k: prepare vif and sta datastructure
Date:  Tue, 09 Jul 2024 17:36:56 +0530
Message-ID:  <20240709120659.1564434-1-quic_ramess@quicinc.com>
Cc:  <linux-wireless-AT-vger.kernel.org>, Sriram R <quic_srirrama-AT-quicinc.com>
Archive-link:  Article

From: Sriram R <quic_srirrama@quicinc.com>

To prepare the driver for MLO support, split the driver vif and sta
data structure to scale for multiple links. This requires changing
the use of arvif and arsta to per link and not per hw which can now
comprise of multiple links.
Also since most configurations from mac80211 are done per link,
do refactoring of the driver functions to apply these configurations
at link level.
Add the required locking changes to synchronize the usage of these
per link objects.

---
v5:
 - Rebased PATCH 1/3 on ToT as few more instances of arvif were introduced.
 - Changed ath12k_vif_to_vif() -> ath12k_ahvif_to_vif() and
   ath12k_sta_to_sta() -> ath12k_ahsta_to_sta()
 - Used ahvif->link[0] instead of deflink as preparation for MLD in 
   ath12k_mac_op_sta_rc_update()

v4:
 - Extensive rebase on PATCH 1/3 on ToT as MBSSID changes are
   introduced since v3.
v3:
 - Rebased on ToT

v2:
 - Rebased PATCH 1/3 on ToT as b0afabc4d7e0 (wifi: ath12k: add support to
   handle beacon miss for WCN7850) has introduced few APIs that use
   arvif.

Sriram R (3):
  wifi: ath12k: prepare vif data structure for MLO handling
  wifi: ath12k: pass ath12k_link_vif instead of vif/ahvif
  wifi: ath12k: prepare sta data structure for MLO handling

 drivers/net/wireless/ath/ath12k/core.h   |  91 ++-
 drivers/net/wireless/ath/ath12k/dp.c     |  21 +-
 drivers/net/wireless/ath/ath12k/dp.h     |   3 +-
 drivers/net/wireless/ath/ath12k/dp_mon.c |  14 +-
 drivers/net/wireless/ath/ath12k/dp_rx.c  |  16 +-
 drivers/net/wireless/ath/ath12k/dp_rx.h  |   2 +-
 drivers/net/wireless/ath/ath12k/dp_tx.c  |   9 +-
 drivers/net/wireless/ath/ath12k/dp_tx.h  |   2 +-
 drivers/net/wireless/ath/ath12k/mac.c    | 960 +++++++++++++++--------
 drivers/net/wireless/ath/ath12k/mac.h    |  11 +-
 drivers/net/wireless/ath/ath12k/p2p.c    |  17 +-
 drivers/net/wireless/ath/ath12k/p2p.h    |   2 +-
 drivers/net/wireless/ath/ath12k/peer.c   |   7 +-
 drivers/net/wireless/ath/ath12k/peer.h   |   4 +-
 drivers/net/wireless/ath/ath12k/wmi.c    |  22 +-
 drivers/net/wireless/ath/ath12k/wmi.h    |   8 +-
 drivers/net/wireless/ath/ath12k/wow.c    |  59 +-
 17 files changed, 800 insertions(+), 448 deletions(-)


base-commit: 9fddbf081f2da3a20fecda0b58adacbf1379e304
-- 
2.25.1




Copyright © 2024, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds