• Karthikeyan Periyasamy's avatar
    wifi: ath12k: Introduce the container for mac80211 hw · 6db6e70a
    Karthikeyan Periyasamy authored
    To support multi link operation, we need to combine all the link/pdev
    under a single wiphy. This avoids the overhead of synchronization
    across multiple hardware instances in both the cfg80211 and mac80211
    layers. Currently, each link/pdev is registered as separate wiphy,
    tightly coupled with link/pdev/radio (ar) structure. To enable single
    wiphy registration within the chip, we decouple the wiphy data entity from
    the link/pdev/radio (ar) structure and move it under the chip (ab)
    structure with a new data container (ath12k_hw) structure. This approach
    improves scalability for future multi link operation support.
    
    		mac80211 hw private data structure diagram
    		------------------------------------------
    
    	Now						After
    
     +---------------------+                          +---------------------+
     |mac80211 hw priv data|                          |mac80211 hw priv data|
     |                     |                          |                     |
     |                     |                          |                     |
     |                     |                          |                     |
     |                     |                          |   ath12k_hw (ah)    |
     |                     |                          |                     |
     |                     |  +------------------->   |                     |
     |    ath12k (ar)      |                          |   +-------------+   |
     |                     |                          |   |             |   |
     |                     |                          |   | ath12k (ar) |   |
     |                     |                          |   |             |   |
     |                     |                          |   |             |   |
     |                     |                          |   +-------------+   |
     |                     |                          |                     |
     |                     |                          |                     |
     +---------------------+                          +---------------------+
    
    Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1
    Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3
    Signed-off-by: default avatarKarthikeyan Periyasamy <quic_periyasa@quicinc.com>
    Signed-off-by: default avatarKalle Valo <quic_kvalo@quicinc.com>
    Link: https://msgid.link/20240118010320.3918136-3-quic_periyasa@quicinc.com
    6db6e70a
core.h 22 KB