[PATCH ath-next v2 07/17] wifi: ath12k: Add hybrid_bus_type in ath12k_hw_params
Aaradhana Sahu
aaradhana.sahu at oss.qualcomm.com
Thu Oct 15 20:21:44 PDT 2026
QCN6432 is a PCIe-based device attached to the WCSS Q6 processor,
but it is registered as a platform (AHB) device. It uses AHB APIs
for probe and boot. Because of this hybrid nature, it is called as
a hybrid bus device.
Introduce a hybrid_bus_type field in ath12k_hw_params to indicate the
hybrid nature of the device.
Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.6-01243-QCAHKSWPL_SILICONZ-1
Tested-on: IPQ5332 hw1.0 AHB WLAN.WBE.1.6-01322-QCAHKSWPL_SILICONZ-1
Tested-on: QCN6432 hw1.0 AHB WLAN.WBE.1.6-01322-QCAHKSWPL_SILICONZ-1
Signed-off-by: Aaradhana Sahu <aaradhana.sahu at oss.qualcomm.com>
---
drivers/net/wireless/ath/ath12k/hw.h | 6 ++++++
drivers/net/wireless/ath/ath12k/wifi7/hw.c | 7 +++++++
2 files changed, 13 insertions(+)
diff --git a/drivers/net/wireless/ath/ath12k/hw.h b/drivers/net/wireless/ath/ath12k/hw.h
index 833aa6d43ce4..fb807d5a6ae4 100644
--- a/drivers/net/wireless/ath/ath12k/hw.h
+++ b/drivers/net/wireless/ath/ath12k/hw.h
@@ -240,6 +240,12 @@ struct ath12k_hw_params {
bool host_alloc_ml_id;
bool advertise_iface_mac_pool;
+ /*
+ * True for devices with PCIe hardware registered as AHB platform devices.
+ * Such devices use AHB APIs for probe/boot but PCIe APIs for operation.
+ * Example: QCN6432 (PCIe device attached to Q6, registered as AHB).
+ */
+ bool hybrid_bus_type;
};
struct ath12k_hw_ops {
diff --git a/drivers/net/wireless/ath/ath12k/wifi7/hw.c b/drivers/net/wireless/ath/ath12k/wifi7/hw.c
index 616ff695763c..728bf19980b9 100644
--- a/drivers/net/wireless/ath/ath12k/wifi7/hw.c
+++ b/drivers/net/wireless/ath/ath12k/wifi7/hw.c
@@ -498,6 +498,7 @@ static const struct ath12k_hw_params ath12k_wifi7_hw_params[] = {
.host_alloc_ml_id = true,
.advertise_iface_mac_pool = false,
+ .hybrid_bus_type = false,
},
{
.name = "wcn7850 hw2.0",
@@ -594,6 +595,7 @@ static const struct ath12k_hw_params ath12k_wifi7_hw_params[] = {
.host_alloc_ml_id = false,
.advertise_iface_mac_pool = true,
+ .hybrid_bus_type = false,
},
{
.name = "qcn9274 hw2.0",
@@ -686,6 +688,7 @@ static const struct ath12k_hw_params ath12k_wifi7_hw_params[] = {
.host_alloc_ml_id = true,
.advertise_iface_mac_pool = false,
+ .hybrid_bus_type = false,
},
{
.name = "ipq5332 hw1.0",
@@ -772,6 +775,7 @@ static const struct ath12k_hw_params ath12k_wifi7_hw_params[] = {
.host_alloc_ml_id = true,
.advertise_iface_mac_pool = false,
+ .hybrid_bus_type = false,
},
{
.name = "qcc2072 hw1.0",
@@ -869,6 +873,7 @@ static const struct ath12k_hw_params ath12k_wifi7_hw_params[] = {
.host_alloc_ml_id = false,
.advertise_iface_mac_pool = true,
+ .hybrid_bus_type = false,
},
{
.name = "ipq5424 hw1.0",
@@ -958,6 +963,7 @@ static const struct ath12k_hw_params ath12k_wifi7_hw_params[] = {
.host_alloc_ml_id = true,
.advertise_iface_mac_pool = false,
+ .hybrid_bus_type = false,
},
{
.name = "qcn6432 hw1.0",
@@ -1043,6 +1049,7 @@ static const struct ath12k_hw_params ath12k_wifi7_hw_params[] = {
.host_alloc_ml_id = true,
.advertise_iface_mac_pool = false,
+ .hybrid_bus_type = true,
},
};
--
2.34.1
More information about the ath12k
mailing list