[PATCH ath12k-ng 00/12] wifi: ath12k: Modularize Wi-Fi 7 components and refactor data path structures

Karthikeyan Periyasamy karthikeyan.periyasamy at oss.qualcomm.com
Mon Nov 3 20:05:50 PST 2025



On 11/3/2025 4:50 PM, Ripan Deuri wrote:
> This patch series introduces a comprehensive set of changes aimed at enhancing
> the modularity and maintainability of the ath12k driver, in the context of
> Wi-Fi 7 support. The key updates include:
> 
> * Callback Integration for Wi-Fi 7 RX APIs:
> 
>     Introduces callbacks in arch_ops for RX-related APIs defined in the Wi-Fi 7
>     module. Adds wrapper functions to invoke these callbacks from the common
>     code. Enables seamless interaction between ath12k.ko and ath12k_wifi7.ko by
>     leveraging the ops mechanism.
> 
> * Data Path Modularization:
> 
>     Macro Refactoring: Moves shared macro definitions from dp.h to cmn_defs.h to
>     improve code organization.
> 
>     Device Stats Consolidation: Relocates device stats from ath12k_base to
>     ath12k_dp, centralizing all SOC-level stats within the data path module.
> 
>     Peer Stats Modularization: Relocates data path stats from ath12_link_sta to
>     ath12k_dp_link_peer, aligning with the modular peer architecture and
>     improving maintainability.
> 
> * Wi-Fi 7 Specific File Reorganization:
> 
>     Moves the following files to be built as part of ath12k_wifi7.ko:
> 
>     wifi7/hal_tx.c
>     wifi7/hal_rx.c
>     wifi7/dp_rx.c
>     wifi7/dp_tx.c
>     wifi7/dp.c
>     wifi7/hal.c
>     wifi7/hal_qcn9274.c
>     wifi7/hal_wcn7850.c
> 
>     Adds necessary symbol exports to support this modularization.
> 
> * Optimization in Data Path:
> 
>    Refactors TX and RX data paths to utilize DP-specific objects, reducing
>    pointer indirection and enhancing cache efficiency. Removes Wi-Fi 7-specific
>    headers from common code, with exceptions for dp_mon.c which will be addressed
>    in a subsequent patch series.
> 
> These changes collectively improve the modular structure of the driver
> by separating common and architecture specific modules and further optimize
> performance-critical paths.
> ---
> Harsh Kumar Bijlani (1):
>    wifi: ath12k: Move DP specific link stats to DP link peer
> 
> Pavankumar Nandeshwar (9):
>    wifi: ath12k: Add callbacks in arch_ops for rx APIs
>    wifi: ath12k: Move DP device stats to ath12k_dp
>    wifi: ath12k: Add helper to free DP link peer
>    wifi: ath12k: Remove the wifi7 header inclusions in common code
>    wifi: ath12k: Move ath12k_dp_rx_frags_cleanup API to Wi-Fi 7
>    wifi: ath12k: Move ath12k_dp_rx_get_peer_id API to Wi-Fi 7
>    wifi: ath12k: Remove arch-specific HAL dependencies from common DP
>    wifi: ath12k: Build all the files in wifi7 directory into
>      ath12k_wifi7.ko
>    wifi: ath12k: Use dp objects in performance critical paths
> 
> Ripan Deuri (2):
>    wifi: ath12k: Move ieee80211_ops callback to the arch specific module
>    wifi: ath12k: Replace lock/unlock with guard()
> 
>   drivers/net/wireless/ath/ath12k/Makefile      |   9 -
>   drivers/net/wireless/ath/ath12k/ahb.c         |   1 -
>   drivers/net/wireless/ath/ath12k/core.c        |   3 +-
>   drivers/net/wireless/ath/ath12k/core.h        |  86 -----
>   drivers/net/wireless/ath/ath12k/debug.c       |   4 +-
>   drivers/net/wireless/ath/ath12k/debugfs.c     |   3 +-
>   drivers/net/wireless/ath/ath12k/debugfs_sta.c |  59 ++-
>   drivers/net/wireless/ath/ath12k/dp.c          |  35 +-
>   drivers/net/wireless/ath/ath12k/dp.h          | 143 ++++++-
>   drivers/net/wireless/ath/ath12k/dp_cmn.h      |  12 +
>   drivers/net/wireless/ath/ath12k/dp_htt.c      |  64 ++--
>   drivers/net/wireless/ath/ath12k/dp_mon.c      | 102 +++--
>   drivers/net/wireless/ath/ath12k/dp_mon.h      |   2 +-
>   drivers/net/wireless/ath/ath12k/dp_peer.c     |  69 +++-
>   drivers/net/wireless/ath/ath12k/dp_peer.h     |  57 +++
>   drivers/net/wireless/ath/ath12k/dp_rx.c       | 146 +++----
>   drivers/net/wireless/ath/ath12k/dp_rx.h       |  53 +--
>   drivers/net/wireless/ath/ath12k/dp_tx.c       |  33 +-
>   drivers/net/wireless/ath/ath12k/dp_tx.h       |   5 +-
>   drivers/net/wireless/ath/ath12k/hal.c         |  26 ++
>   drivers/net/wireless/ath/ath12k/hal.h         |  75 +++-
>   drivers/net/wireless/ath/ath12k/mac.c         | 357 ++++--------------
>   drivers/net/wireless/ath/ath12k/mac.h         |  15 +-
>   drivers/net/wireless/ath/ath12k/peer.c        |   4 +-
>   .../net/wireless/ath/ath12k/wifi7/Makefile    |  10 +-
>   drivers/net/wireless/ath/ath12k/wifi7/dp.c    |  80 ++--
>   drivers/net/wireless/ath/ath12k/wifi7/dp_rx.c | 266 +++++++------
>   drivers/net/wireless/ath/ath12k/wifi7/dp_rx.h |  20 +-
>   drivers/net/wireless/ath/ath12k/wifi7/dp_tx.c | 158 ++++----
>   drivers/net/wireless/ath/ath12k/wifi7/dp_tx.h |   2 +-
>   drivers/net/wireless/ath/ath12k/wifi7/hal.c   |   2 +-
>   .../net/wireless/ath/ath12k/wifi7/hal_desc.h  |  50 ---
>   .../wireless/ath/ath12k/wifi7/hal_qcn9274.c   |   3 +-
>   .../net/wireless/ath/ath12k/wifi7/hal_rx.c    |  35 +-
>   .../net/wireless/ath/ath12k/wifi7/hal_rx.h    |  22 +-
>   .../wireless/ath/ath12k/wifi7/hal_wcn7850.c   |   3 +-
>   drivers/net/wireless/ath/ath12k/wifi7/hw.c    | 208 +++++++++-
>   37 files changed, 1234 insertions(+), 988 deletions(-)
> 
> 
> base-commit: 6633dca572d8f599b0a1ead0f145a52049ec7709

Reviewed-by: Karthikeyan Periyasamy 
<karthikeyan.periyasamy at oss.qualcomm.com>


-- 
Karthikeyan Periyasamy
--
கார்த்திகேயன் பெரியசாமி



More information about the ath12k mailing list