| From: |
| Ripan Deuri <quic_rdeuri-AT-quicinc.com> |
| To: |
| <ath12k-AT-lists.infradead.org> |
| Subject: |
| [PATCH ath12k-ng 00/12] wifi: ath12k: Modularize Wi-Fi 7 components and refactor data path structures |
| Date: |
| Mon, 03 Nov 2025 16:50:59 +0530 |
| Message-ID: |
| <20251103112111.2260639-1-quic_rdeuri@quicinc.com> |
| Cc: |
| <linux-wireless-AT-vger.kernel.org> |
| Archive-link: |
| Article |
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
--
2.34.1