[PATCH ath12k-ng 00/18] wifi: ath12k: HAL changes for Next Generation Driver

Baochen Qiang baochen.qiang at oss.qualcomm.com
Thu Oct 9 20:25:12 PDT 2025



On 10/9/2025 7:10 PM, Ripan Deuri wrote:
> The primary objective of this set is to modify the HAL layer
> to suit the multi-KO model. The HAL APIs will be implemented
> differently as required by different chipsets and these
> implementations will be abstracted using an ops mechanism
> (by registering function pointer callbacks). The hw specific
> implementations will be registered as callbacks in the hal_ops.
> 
> 			common hal API
> 				|
> 				|
> 				|
> 				|
> 	=============================================
> 			     hal_ops
> 	=============================================
> 	 _______________              _______________
> 	|       |       |            |       |       |
> 	|       |       |            |       |       |
> 	| qcn   | wcn   |            | qcn   | wcn   |
> 	| device| device|            | device| device|
> 	|_______|_______|            |_______|_______|
> 
> 	  ath12k_wifi7.ko             ath12k_wifi8.ko
> 
> Also, the hal structures that are specific to HW (wifi7) are
> kept within hal headers in wifi7 directory and the structures
> that are common are placed in the headers present in the ath12k
> directory.
> ---
> Pavankumar Nandeshwar (16):
>   wifi: ath12k: Move srng config and hal_ops to hw specific hal files
>   wifi: ath12k: Initialize desc_size through hal_init
>   wifi: ath12k: Initialize hal_ops through hal_init
>   wifi: ath12k: Move wbm_rbm_map to hw specific hal files
>   wifi: ath12k: Move hal_params and regs to hal from hw
>   wifi: ath12k: Add direct HAL pointer in ath12k_dp
>   wifi: ath12k: Use hal handle instead of ab handle
>   wifi: ath12k: Move HAL CE setup and SRNG related APIs to wifi7
>     directory
>   wifi: ath12k: Move HAL SRNG shadow config and get ring id APIs to
>     wifi7 directory
>   wifi: ath12k: Move HAL CE desc related APIs to wifi7 directory
>   wifi: ath12k: Move HAL CE status and set link desc addr APIs to wifi7
>     directory
>   wifi: ath12k: Move HAL Tx, REO and link idle setup related APIs to
>     wifi7 directory
>   wifi: ath12k: Move HAL REO and Rx buf related APIs to wifi7 directory
>   wifi: ath12k: Move HAL Cookie Conversion and RBM related APIs to wifi7
>     directory
>   wifi: ath12k: Segregate the common and wifi7 specific structures
>   wifi: ath12k: Remove the unused ring inits in wcn
> 
> Ripan Deuri (2):
>   wifi: ath12k: Rename hal_ops to ops
>   wifi: ath12k: Drop hal_ prefix from hardware register names
> 
>  drivers/net/wireless/ath/ath12k/Makefile      |    1 +
>  drivers/net/wireless/ath/ath12k/ahb.c         |    4 +-
>  drivers/net/wireless/ath/ath12k/ce.c          |   25 +-
>  drivers/net/wireless/ath/ath12k/cmn_defs.h    |    1 +
>  drivers/net/wireless/ath/ath12k/core.c        |    4 +-
>  drivers/net/wireless/ath/ath12k/core.h        |    2 +-
>  drivers/net/wireless/ath/ath12k/dbring.c      |    5 +-
>  drivers/net/wireless/ath/ath12k/debugfs.c     |    2 +-
>  drivers/net/wireless/ath/ath12k/dp.c          |  178 +--
>  drivers/net/wireless/ath/ath12k/dp.h          |   17 +-
>  drivers/net/wireless/ath/ath12k/dp_mon.c      |    6 +-
>  drivers/net/wireless/ath/ath12k/dp_mon.h      |    1 +
>  drivers/net/wireless/ath/ath12k/dp_rx.c       |    7 +-
>  drivers/net/wireless/ath/ath12k/dp_rx.h       |   17 +-
>  drivers/net/wireless/ath/ath12k/dp_tx.h       |    1 -
>  drivers/net/wireless/ath/ath12k/hal.c         | 1114 ++---------------
>  drivers/net/wireless/ath/ath12k/hal.h         |  804 ++++--------
>  drivers/net/wireless/ath/ath12k/hw.h          |   92 +-
>  drivers/net/wireless/ath/ath12k/pci.c         |    2 +-
>  drivers/net/wireless/ath/ath12k/pci.h         |   10 +-
>  drivers/net/wireless/ath/ath12k/wifi7/dp.c    |    3 +
>  drivers/net/wireless/ath/ath12k/wifi7/dp_rx.c |    2 +-
>  drivers/net/wireless/ath/ath12k/wifi7/dp_rx.h |    5 +-
>  drivers/net/wireless/ath/ath12k/wifi7/dp_tx.c |   54 +-
>  drivers/net/wireless/ath/ath12k/wifi7/dp_tx.h |    2 +
>  drivers/net/wireless/ath/ath12k/wifi7/hal.c   |  705 +++++++++++
>  drivers/net/wireless/ath/ath12k/wifi7/hal.h   |  563 +++++++++
>  .../net/wireless/ath/ath12k/wifi7/hal_desc.h  |   80 --
>  .../wireless/ath/ath12k/wifi7/hal_qcn9274.c   |  661 ++++++++++
>  .../wireless/ath/ath12k/wifi7/hal_qcn9274.h   |   10 +
>  .../net/wireless/ath/ath12k/wifi7/hal_rx.c    |   22 +-
>  .../net/wireless/ath/ath12k/wifi7/hal_rx.h    |   10 +
>  .../net/wireless/ath/ath12k/wifi7/hal_tx.c    |   10 +-
>  .../net/wireless/ath/ath12k/wifi7/hal_tx.h    |    7 +-
>  .../wireless/ath/ath12k/wifi7/hal_wcn7850.c   |  439 +++++++
>  .../wireless/ath/ath12k/wifi7/hal_wcn7850.h   |    7 +
>  drivers/net/wireless/ath/ath12k/wifi7/hw.c    |  404 +-----
>  drivers/net/wireless/ath/ath12k/wifi7/pci.c   |    1 +
>  38 files changed, 2949 insertions(+), 2329 deletions(-)
>  create mode 100644 drivers/net/wireless/ath/ath12k/wifi7/hal.c
>  create mode 100644 drivers/net/wireless/ath/ath12k/wifi7/hal.h
> 
> 
> base-commit: c57176c0dad91a00bd20feb5f6dc4e8d575f4628

Reviewed-by: Baochen Qiang <baochen.qiang at oss.qualcomm.com>




More information about the ath12k mailing list