ath11k: Do not put HW in DBS mode for WCN6750
authorManikanta Pubbisetty <quic_mpubbise@quicinc.com>
Wed, 6 Apr 2022 09:41:03 +0000 (15:11 +0530)
committerKalle Valo <quic_kvalo@quicinc.com>
Wed, 27 Apr 2022 07:25:59 +0000 (10:25 +0300)
Though WCN6750 is a single PDEV device, it is not a
DBS solution. So, do not put HW in DBS mode for WCN6750.

Tested-on: WCN6750 hw1.0 AHB WLAN.MSL.1.0.1-00573-QCAMSLSWPLZ-1
Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-01720.1-QCAHSPSWPL_V1_V2_SILICONZ_LITE-1
Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.5.0.1-01100-QCAHKSWPL_SILICONZ-1
Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.4.0.1-00192-QCAHKSWPL_SILICONZ-1

Signed-off-by: Manikanta Pubbisetty <quic_mpubbise@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://lore.kernel.org/r/20220406094107.17878-10-quic_mpubbise@quicinc.com
drivers/net/wireless/ath/ath11k/core.c
drivers/net/wireless/ath/ath11k/wmi.c

index f011db4..06958f3 100644 (file)
@@ -1213,7 +1213,7 @@ static int ath11k_core_start(struct ath11k_base *ab,
        }
 
        /* put hardware to DBS mode */
-       if (ab->hw_params.single_pdev_only) {
+       if (ab->hw_params.single_pdev_only && ab->hw_params.num_rxmda_per_pdev > 1) {
                ret = ath11k_wmi_set_hw_mode(ab, WMI_HOST_HW_MODE_DBS);
                if (ret) {
                        ath11k_err(ab, "failed to send dbs mode: %d\n", ret);
index dcf31bd..d724381 100644 (file)
@@ -1,6 +1,7 @@
 // SPDX-License-Identifier: BSD-3-Clause-Clear
 /*
  * Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2021, Qualcomm Innovation Center, Inc. All rights reserved.
  */
 #include <linux/skbuff.h>
 #include <linux/ctype.h>
@@ -8225,7 +8226,7 @@ int ath11k_wmi_attach(struct ath11k_base *ab)
        ab->wmi_ab.preferred_hw_mode = WMI_HOST_HW_MODE_MAX;
 
        /* It's overwritten when service_ext_ready is handled */
-       if (ab->hw_params.single_pdev_only)
+       if (ab->hw_params.single_pdev_only && ab->hw_params.num_rxmda_per_pdev > 1)
                ab->wmi_ab.preferred_hw_mode = WMI_HOST_HW_MODE_SINGLE;
 
        /* TODO: Init remaining wmi soc resources required */