[PATCH 2/3] wifi: ath12k: Remove dependency on single_chip_mlo_support for mlo_capable flag
Aaradhana Sahu
quic_aarasahu at quicinc.com
Thu Feb 6 21:03:26 PST 2025
The mlo_capable flag in structure ath12k_hw_group indicate that a device
is capable of operating in multi-link mode. Currently this is enabled
based on single_chip_mlo_support advertised by the firmware within
ath12k_qmi_phy_cap_send().
Since the firmware advertises multi-link operation (MLO) support through
the ATH12K_FW_FEATURE_MLO feature in firmware-2.bin, there is no need to
rely on the QMI phy capability (single_chip_mlo_support). Therefore remove
the dependency on single_chip_mlo_support to set mlo_capable flag.
Below is the impact on single split-phy PCI device with and without this
patch:
Note: This patch does not change the existing behavior of the single
split-phy PCI device.
1. Driver without this patch + firmware with single_chip_mlo_support
as false: MLO is not enabled.
2. Driver without this patch + firmware with single_chip_mlo_support
as true: MLO works fine.
3. Driver with this patch + firmware with single_chip_mlo_support as
false: MLO is not enabled.
4. Driver with this patch + firmware with single_chip_mlo_support as
true: MLO works fine.
Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1
Signed-off-by: Aaradhana Sahu <quic_aarasahu at quicinc.com>
---
drivers/net/wireless/ath/ath12k/qmi.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/drivers/net/wireless/ath/ath12k/qmi.c b/drivers/net/wireless/ath/ath12k/qmi.c
index ef537c6bf0da..fcbe234758e1 100644
--- a/drivers/net/wireless/ath/ath12k/qmi.c
+++ b/drivers/net/wireless/ath/ath12k/qmi.c
@@ -2265,10 +2265,6 @@ static void ath12k_qmi_phy_cap_send(struct ath12k_base *ab)
goto out;
}
- if (resp.single_chip_mlo_support_valid &&
- resp.single_chip_mlo_support)
- ab->single_chip_mlo_supp = true;
-
if (!resp.num_phy_valid) {
ret = -ENODATA;
goto out;
@@ -2277,10 +2273,9 @@ static void ath12k_qmi_phy_cap_send(struct ath12k_base *ab)
ab->qmi.num_radios = resp.num_phy;
ath12k_dbg(ab, ATH12K_DBG_QMI,
- "phy capability resp valid %d num_phy %d valid %d board_id %d valid %d single_chip_mlo_support %d\n",
+ "phy capability resp valid %d num_phy %d valid %d board_id %d\n",
resp.num_phy_valid, resp.num_phy,
- resp.board_id_valid, resp.board_id,
- resp.single_chip_mlo_support_valid, resp.single_chip_mlo_support);
+ resp.board_id_valid, resp.board_id);
return;
--
2.34.1
More information about the ath12k
mailing list