mbox series

[v4,00/12] wifi: ath12k: Add single wiphy support

Message ID 20240312135557.1778379-1-quic_ramess@quicinc.com (mailing list archive)
Headers show
Series wifi: ath12k: Add single wiphy support | expand

Message

Rameshkumar Sundaram March 12, 2024, 1:55 p.m. UTC
From: Sriram R <quic_srirrama@quicinc.com>

With the introduction of Multi Link Operation (MLO) support in
IEEE802.11be, each EHT AP/non AP interface is capable of
operating with multiple radio links.

cfg80211/mac80211 expects drivers to abstract the communication
between such Multi Link HW and mac80211/cfg80211 since it depends
on different driver/HW implementation. Hence the single wiphy
abstraction with changes in datastructures were introduced in
"wifi: ath12k: Introduce hw abstraction"

This patchset extends the implementation to allow combination
of multiple underlying radios into a single composite hw/wiphy
for registration. Since now multiple radios are represented by
a single wiphy, changes are required in various mac ops that the
driver supports since the driver now needs to learn on how to tunnel
various mac ops properly to a specific radio.

This patchset covers the basic mac80211 ops for an interface bring up
and operation.

Note:
Monitor and hw reconfig support for Single Wiphy will be done in future
patchsets.

---
 v4:
 - Updated missing Signed-off details for patches.

 v3:
  - Rebased on ToT (added additional ar check in PATCH 08/12 for p2p)
  - Introduced iterator to loop through ars in an ah(for_each_ar())
  - Addressed comments on reverse xmas tree declaration style.

 v2:
  - Rebased on ToT and dependent patchset


Karthikeyan Periyasamy (1):
  wifi: ath12k: add multiple radio support in a single MAC HW
    un/register

Sriram R (11):
  wifi: ath12k: Modify add and remove chanctx ops for single wiphy
    support
  wifi: ath12k: modify ath12k mac start/stop ops for single wiphy
  wifi: ath12k: vdev statemachine changes for single wiphy
  wifi: ath12k: scan statemachine changes for single wiphy
  wifi: ath12k: fetch correct radio based on vdev status
  wifi: ath12k: Cache vdev configs before vdev create
  wifi: ath12k: Add additional checks for vif and sta iterators
  wifi: ath12k: modify regulatory support for single wiphy architecture
  wifi: ath12k: Modify set and get antenna mac ops for single wiphy
  wifi: ath12k: Modify rts threshold mac op for single wiphy
  wifi: ath12k: support get_survey mac op for single wiphy

 drivers/net/wireless/ath/ath12k/core.h |  38 +-
 drivers/net/wireless/ath/ath12k/hw.h   |   1 +
 drivers/net/wireless/ath/ath12k/mac.c  | 911 +++++++++++++++++++------
 drivers/net/wireless/ath/ath12k/p2p.c  |   3 +-
 drivers/net/wireless/ath/ath12k/p2p.h  |   1 +
 drivers/net/wireless/ath/ath12k/reg.c  |  55 +-
 6 files changed, 785 insertions(+), 224 deletions(-)

Comments

Jeff Johnson March 12, 2024, 8:59 p.m. UTC | #1
On 3/12/2024 6:55 AM, Rameshkumar Sundaram wrote:
> From: Sriram R <quic_srirrama@quicinc.com>
> 
> With the introduction of Multi Link Operation (MLO) support in
> IEEE802.11be, each EHT AP/non AP interface is capable of
> operating with multiple radio links.
> 
> cfg80211/mac80211 expects drivers to abstract the communication
> between such Multi Link HW and mac80211/cfg80211 since it depends
> on different driver/HW implementation. Hence the single wiphy
> abstraction with changes in datastructures were introduced in
> "wifi: ath12k: Introduce hw abstraction"
> 
> This patchset extends the implementation to allow combination
> of multiple underlying radios into a single composite hw/wiphy
> for registration. Since now multiple radios are represented by
> a single wiphy, changes are required in various mac ops that the
> driver supports since the driver now needs to learn on how to tunnel
> various mac ops properly to a specific radio.
> 
> This patchset covers the basic mac80211 ops for an interface bring up
> and operation.
> 
> Note:
> Monitor and hw reconfig support for Single Wiphy will be done in future
> patchsets.
> 
> ---
>  v4:
>  - Updated missing Signed-off details for patches.
> 
>  v3:
>   - Rebased on ToT (added additional ar check in PATCH 08/12 for p2p)
>   - Introduced iterator to loop through ars in an ah(for_each_ar())
>   - Addressed comments on reverse xmas tree declaration style.
> 
>  v2:
>   - Rebased on ToT and dependent patchset
> 
> 
> Karthikeyan Periyasamy (1):
>   wifi: ath12k: add multiple radio support in a single MAC HW
>     un/register
> 
> Sriram R (11):
>   wifi: ath12k: Modify add and remove chanctx ops for single wiphy
>     support
>   wifi: ath12k: modify ath12k mac start/stop ops for single wiphy
>   wifi: ath12k: vdev statemachine changes for single wiphy
>   wifi: ath12k: scan statemachine changes for single wiphy
>   wifi: ath12k: fetch correct radio based on vdev status
>   wifi: ath12k: Cache vdev configs before vdev create
>   wifi: ath12k: Add additional checks for vif and sta iterators
>   wifi: ath12k: modify regulatory support for single wiphy architecture
>   wifi: ath12k: Modify set and get antenna mac ops for single wiphy
>   wifi: ath12k: Modify rts threshold mac op for single wiphy
>   wifi: ath12k: support get_survey mac op for single wiphy
> 
>  drivers/net/wireless/ath/ath12k/core.h |  38 +-
>  drivers/net/wireless/ath/ath12k/hw.h   |   1 +
>  drivers/net/wireless/ath/ath12k/mac.c  | 911 +++++++++++++++++++------
>  drivers/net/wireless/ath/ath12k/p2p.c  |   3 +-
>  drivers/net/wireless/ath/ath12k/p2p.h  |   1 +
>  drivers/net/wireless/ath/ath12k/reg.c  |  55 +-
>  6 files changed, 785 insertions(+), 224 deletions(-)
> 

ath12k-check reports the following issues when run against the series:
drivers/net/wireless/ath/ath12k/core.h:994: Macro argument reuse 'index' - possible side-effects?
drivers/net/wireless/ath/ath12k/core.h:994: Macro argument reuse 'ah' - possible side-effects?
drivers/net/wireless/ath/ath12k/mac.c:3635: Please don't use multiple blank lines
drivers/net/wireless/ath/ath12k/mac.c:6230: line length of 92 exceeds 90 columns
drivers/net/wireless/ath/ath12k/mac.c:8429: Missing a blank line after declarations