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

Ripan Deuri quic_rdeuri at quicinc.com
Thu Oct 9 04:10:27 PDT 2025


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
-- 
2.34.1




More information about the ath12k mailing list