ath12k is a new mac80211 driver for Qualcomm Wi-Fi 7 devices, first supporting QCN9274 and WCN7850 PCI devices. QCN9274 supports both AP and station; WCN7850 supports only station mode. Monitor mode is not (yet) supported. Only PCI bus devices are supported. ath12k is forked from an earlier version of ath11k. It was simpler to have a "clean start" for the new generation and not try to share the code with ath11k. This makes maintenance easier and avoids major changes in ath11k, which would have significantly increased the risk of regressions in existing setups. ath12k uses le32 and cpu_to_le32() macros to handle endian conversions, instead of using the firmware byte swap feature utilized by ath11k. There is only one kernel module, named ath12k.ko. Currently ath12k only supports HE mode (IEEE 802.11ax) or older, but work is ongoing to add EHT mode (IEEE 802.11be) support. The size of the driver is ~41 kLOC and 45 files. To make the review easier, this initial version of ath12k does not support Device Tree, debugfs or any other extra features. Those will be added later, after ath12k is accepted to upstream. The driver is build tested by Intel's kernel test robot with both GCC and Clang. Sparse reports no warnings. The driver is mostly free of checkpatch warnings, albeit few of the warnings are omitted on purpose, list of them here: https://github.com/qca/qca-swiss-army-knife/blob/master/tools/scripts/ath12k/ath12k-check#L52 The driver has had multiple authors who are listed in alphabetical order below. Co-developed-by: Balamurugan Selvarajan <quic_bselvara@quicinc.com> Signed-off-by: Balamurugan Selvarajan <quic_bselvara@quicinc.com> Co-developed-by: Baochen Qiang <quic_bqiang@quicinc.com> Signed-off-by: Baochen Qiang <quic_bqiang@quicinc.com> Co-developed-by: Bhagavathi Perumal S <quic_bperumal@quicinc.com> Signed-off-by: Bhagavathi Perumal S <quic_bperumal@quicinc.com> Co-developed-by: Carl Huang <quic_cjhuang@quicinc.com> Signed-off-by: Carl Huang <quic_cjhuang@quicinc.com> Co-developed-by: Jeff Johnson <quic_jjohnson@quicinc.com> Signed-off-by: Jeff Johnson <quic_jjohnson@quicinc.com> Co-developed-by: Karthikeyan Periyasamy <quic_periyasa@quicinc.com> Signed-off-by: Karthikeyan Periyasamy <quic_periyasa@quicinc.com> Co-developed-by: P Praneesh <quic_ppranees@quicinc.com> Signed-off-by: P Praneesh <quic_ppranees@quicinc.com> Co-developed-by: Pradeep Kumar Chitrapu <quic_pradeepc@quicinc.com> Signed-off-by: Pradeep Kumar Chitrapu <quic_pradeepc@quicinc.com> Co-developed-by: Ramya Gnanasekar <quic_rgnanase@quicinc.com> Signed-off-by: Ramya Gnanasekar <quic_rgnanase@quicinc.com> Co-developed-by: Sriram R <quic_srirrama@quicinc.com> Signed-off-by: Sriram R <quic_srirrama@quicinc.com> Co-developed-by: Vasanthakumar Thiagarajan <quic_vthiagar@quicinc.com> Signed-off-by: Vasanthakumar Thiagarajan <quic_vthiagar@quicinc.com> Co-developed-by: Wen Gong <quic_wgong@quicinc.com> Signed-off-by: Wen Gong <quic_wgong@quicinc.com> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
68 lines
2.1 KiB
Text
68 lines
2.1 KiB
Text
# SPDX-License-Identifier: ISC
|
|
config ATH_COMMON
|
|
tristate
|
|
|
|
config WLAN_VENDOR_ATH
|
|
bool "Atheros/Qualcomm devices"
|
|
default y
|
|
help
|
|
If you have a wireless card belonging to this class, say Y.
|
|
|
|
Note that the answer to this question doesn't directly affect the
|
|
kernel: saying N will just cause the configurator to skip all the
|
|
questions about these cards. If you say Y, you will be asked for
|
|
your specific card in the following questions.
|
|
|
|
For more information and documentation on this module you can visit:
|
|
|
|
https://wireless.wiki.kernel.org/en/users/Drivers/ath
|
|
|
|
For information on all Atheros wireless drivers visit:
|
|
|
|
https://wireless.wiki.kernel.org/en/users/Drivers/Atheros
|
|
|
|
if WLAN_VENDOR_ATH
|
|
|
|
config ATH_DEBUG
|
|
bool "Atheros wireless debugging"
|
|
help
|
|
Say Y, if you want to debug atheros wireless drivers.
|
|
Right now only ath9k makes use of this.
|
|
|
|
config ATH_TRACEPOINTS
|
|
bool "Atheros wireless tracing"
|
|
depends on ATH_DEBUG
|
|
depends on EVENT_TRACING
|
|
help
|
|
This option enables tracepoints for atheros wireless drivers.
|
|
Currently, ath9k makes use of this facility.
|
|
|
|
config ATH_REG_DYNAMIC_USER_REG_HINTS
|
|
bool "Atheros dynamic user regulatory hints"
|
|
depends on CFG80211_CERTIFICATION_ONUS
|
|
default n
|
|
help
|
|
Say N. This should only be enabled in countries where
|
|
this feature is explicitly allowed and only on cards that
|
|
specifically have been tested for this.
|
|
|
|
config ATH_REG_DYNAMIC_USER_CERT_TESTING
|
|
bool "Atheros dynamic user regulatory testing"
|
|
depends on ATH_REG_DYNAMIC_USER_REG_HINTS && CFG80211_CERTIFICATION_ONUS
|
|
default n
|
|
help
|
|
Say N. This should only be enabled on systems
|
|
undergoing certification testing.
|
|
|
|
source "drivers/net/wireless/ath/ath5k/Kconfig"
|
|
source "drivers/net/wireless/ath/ath9k/Kconfig"
|
|
source "drivers/net/wireless/ath/carl9170/Kconfig"
|
|
source "drivers/net/wireless/ath/ath6kl/Kconfig"
|
|
source "drivers/net/wireless/ath/ar5523/Kconfig"
|
|
source "drivers/net/wireless/ath/wil6210/Kconfig"
|
|
source "drivers/net/wireless/ath/ath10k/Kconfig"
|
|
source "drivers/net/wireless/ath/wcn36xx/Kconfig"
|
|
source "drivers/net/wireless/ath/ath11k/Kconfig"
|
|
source "drivers/net/wireless/ath/ath12k/Kconfig"
|
|
|
|
endif
|