diff mbox series

[2/3] wifi: ath12k: Remove dependency on single_chip_mlo_support for mlo_capable flag

Message ID 20250207050327.360987-3-quic_aarasahu@quicinc.com (mailing list archive)
State Accepted
Delegated to: Jeff Johnson
Headers show
Series wifi: ath12k: MLO setup for single split-phy PCI device | expand

Commit Message

Aaradhana Sahu Feb. 7, 2025, 5:03 a.m. UTC
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@quicinc.com>
---
 drivers/net/wireless/ath/ath12k/qmi.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

Comments

Vasanthakumar Thiagarajan Feb. 7, 2025, 12:29 p.m. UTC | #1
On 2/7/2025 10:33 AM, Aaradhana Sahu wrote:
> 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@quicinc.com>


Reviewed-by: Vasanthakumar Thiagarajan <vasanthakumar.thiagarajan@oss.qualcomm.com>
diff mbox series

Patch

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;