diff options
| author | Pavankumar Nandeshwar <quic_pnandesh@quicinc.com> | 2025-11-03 14:21:08 +0300 |
|---|---|---|
| committer | Jeff Johnson <jeff.johnson@oss.qualcomm.com> | 2025-11-05 18:16:55 +0300 |
| commit | 951cca9cc68d67ff572db9de32a810a16d9bc1ad (patch) | |
| tree | 670dc0b243b18a4fdf331eadf6b0f92935f40fa2 | |
| parent | 147daefc59f007966b92e510b063d407850f2278 (diff) | |
| download | linux-951cca9cc68d67ff572db9de32a810a16d9bc1ad.tar.xz | |
wifi: ath12k: Remove arch-specific HAL dependencies from common DP
Currently common DP includes arch-specific structs from wifi7/hal_desc.h
via dp_mon.h. Store hal_wbm_release_ring_tx size in the HAL object and move
hal_wbm_link_desc to common HAL for this separation.
Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.4.1-00199-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: Pavankumar Nandeshwar <quic_pnandesh@quicinc.com>
Signed-off-by: Ripan Deuri <quic_rdeuri@quicinc.com>
Reviewed-by: Karthikeyan Periyasamy <karthikeyan.periyasamy@oss.qualcomm.com>
Reviewed-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com>
Link: https://patch.msgid.link/20251103112111.2260639-10-quic_rdeuri@quicinc.com
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
| -rw-r--r-- | drivers/net/wireless/ath/ath12k/dp.c | 3 | ||||
| -rw-r--r-- | drivers/net/wireless/ath/ath12k/hal.h | 6 | ||||
| -rw-r--r-- | drivers/net/wireless/ath/ath12k/wifi7/dp.c | 1 | ||||
| -rw-r--r-- | drivers/net/wireless/ath/ath12k/wifi7/hal.c | 1 | ||||
| -rw-r--r-- | drivers/net/wireless/ath/ath12k/wifi7/hal_desc.h | 4 |
5 files changed, 8 insertions, 7 deletions
diff --git a/drivers/net/wireless/ath/ath12k/dp.c b/drivers/net/wireless/ath/ath12k/dp.c index e8f3f396dfde..b65f421d5b83 100644 --- a/drivers/net/wireless/ath/ath12k/dp.c +++ b/drivers/net/wireless/ath/ath12k/dp.c @@ -11,7 +11,6 @@ #include "hal.h" #include "debug.h" #include "peer.h" -#include "dp_mon.h" #include "dp_cmn.h" enum ath12k_dp_desc_type { @@ -1532,7 +1531,7 @@ static int ath12k_dp_setup(struct ath12k_base *ab) if (ret) goto fail_dp_bank_profiles_cleanup; - size = sizeof(struct hal_wbm_release_ring_tx) * + size = ab->hal.hal_wbm_release_ring_tx_size * DP_TX_COMP_RING_SIZE(ab); ret = ath12k_dp_reoq_lut_setup(ab); diff --git a/drivers/net/wireless/ath/ath12k/hal.h b/drivers/net/wireless/ath/ath12k/hal.h index 29bcedca0a3b..071f4897e4cd 100644 --- a/drivers/net/wireless/ath/ath12k/hal.h +++ b/drivers/net/wireless/ath/ath12k/hal.h @@ -795,7 +795,10 @@ struct ath12k_buffer_addr { struct hal_ce_srng_dest_desc; struct hal_ce_srng_dst_status_desc; struct hal_ce_srng_src_desc; -struct hal_wbm_link_desc; + +struct hal_wbm_link_desc { + struct ath12k_buffer_addr buf_addr_info; +} __packed; /* srng flags */ #define HAL_SRNG_FLAGS_MSI_SWAP 0x00000008 @@ -1202,6 +1205,7 @@ struct ath12k_hal { int num_shadow_reg_configured; u32 hal_desc_sz; + u32 hal_wbm_release_ring_tx_size; const struct ath12k_hal_tcl_to_wbm_rbm_map *tcl_to_wbm_rbm_map; }; diff --git a/drivers/net/wireless/ath/ath12k/wifi7/dp.c b/drivers/net/wireless/ath/ath12k/wifi7/dp.c index b57e8de05c27..cf7ede27623a 100644 --- a/drivers/net/wireless/ath/ath12k/wifi7/dp.c +++ b/drivers/net/wireless/ath/ath12k/wifi7/dp.c @@ -7,6 +7,7 @@ #include "../debug.h" #include "../dp_rx.h" #include "../dp_tx.h" +#include "hal_desc.h" #include "../dp_mon.h" #include "../dp_cmn.h" #include "dp_rx.h" diff --git a/drivers/net/wireless/ath/ath12k/wifi7/hal.c b/drivers/net/wireless/ath/ath12k/wifi7/hal.c index 84c0ba2d1fbe..f48adb83599e 100644 --- a/drivers/net/wireless/ath/ath12k/wifi7/hal.c +++ b/drivers/net/wireless/ath/ath12k/wifi7/hal.c @@ -55,6 +55,7 @@ int ath12k_wifi7_hal_init(struct ath12k_base *ab) hal->tcl_to_wbm_rbm_map = ath12k_wifi7_hw_ver_map[ab->hw_rev].tcl_to_wbm_rbm_map; hal->regs = ath12k_wifi7_hw_ver_map[ab->hw_rev].hw_regs; hal->hal_params = ath12k_wifi7_hw_ver_map[ab->hw_rev].hal_params; + hal->hal_wbm_release_ring_tx_size = sizeof(struct hal_wbm_release_ring_tx); return 0; } diff --git a/drivers/net/wireless/ath/ath12k/wifi7/hal_desc.h b/drivers/net/wireless/ath/ath12k/wifi7/hal_desc.h index 81506adf156a..aecbf00ea87b 100644 --- a/drivers/net/wireless/ath/ath12k/wifi7/hal_desc.h +++ b/drivers/net/wireless/ath/ath12k/wifi7/hal_desc.h @@ -1592,10 +1592,6 @@ struct hal_tx_rate_stats { __le32 tsf; } __packed; -struct hal_wbm_link_desc { - struct ath12k_buffer_addr buf_addr_info; -} __packed; - #define HAL_WBM_COMPL_RX_INFO0_REL_SRC_MODULE GENMASK(2, 0) #define HAL_WBM_COMPL_RX_INFO0_BM_ACTION GENMASK(5, 3) #define HAL_WBM_COMPL_RX_INFO0_DESC_TYPE GENMASK(8, 6) |
