]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ath10k: skip data calibration for non-bmi target
authorSurabhi Vishnoi <svishnoi@codeaurora.org>
Wed, 13 Jun 2018 05:03:35 +0000 (10:33 +0530)
committerKalle Valo <kvalo@codeaurora.org>
Thu, 14 Jun 2018 15:19:13 +0000 (18:19 +0300)
In non-bmi target ex. WCN3990, data calibration
is handled via QMI.

Skip data calibration in debug routine to enable ath10k
debugfs for non bmi targets.

Signed-off-by: Surabhi Vishnoi <svishnoi@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/ath10k/debug.c

index 0d98c93a3abaef15bca612fadb989940338ca50d..4926722e0c0d3333cf5a93bdbce747c6cbbef6cf 100644 (file)
@@ -1727,7 +1727,9 @@ int ath10k_debug_start(struct ath10k *ar)
                        ath10k_warn(ar, "failed to disable pktlog: %d\n", ret);
        }
 
-       if (ar->debug.nf_cal_period) {
+       if (ar->debug.nf_cal_period &&
+           !test_bit(ATH10K_FW_FEATURE_NON_BMI,
+                     ar->normal_mode_fw.fw_file.fw_features)) {
                ret = ath10k_wmi_pdev_set_param(ar,
                                                ar->wmi.pdev_param->cal_period,
                                                ar->debug.nf_cal_period);
@@ -1744,7 +1746,9 @@ void ath10k_debug_stop(struct ath10k *ar)
 {
        lockdep_assert_held(&ar->conf_mutex);
 
-       ath10k_debug_cal_data_fetch(ar);
+       if (!test_bit(ATH10K_FW_FEATURE_NON_BMI,
+                     ar->normal_mode_fw.fw_file.fw_features))
+               ath10k_debug_cal_data_fetch(ar);
 
        /* Must not use _sync to avoid deadlock, we do that in
         * ath10k_debug_destroy(). The check for htt_stats_mask is to avoid
@@ -2367,15 +2371,18 @@ int ath10k_debug_register(struct ath10k *ar)
        debugfs_create_file("fw_dbglog", 0600, ar->debug.debugfs_phy, ar,
                            &fops_fw_dbglog);
 
-       debugfs_create_file("cal_data", 0400, ar->debug.debugfs_phy, ar,
-                           &fops_cal_data);
+       if (!test_bit(ATH10K_FW_FEATURE_NON_BMI,
+                     ar->normal_mode_fw.fw_file.fw_features)) {
+               debugfs_create_file("cal_data", 0400, ar->debug.debugfs_phy, ar,
+                                   &fops_cal_data);
+
+               debugfs_create_file("nf_cal_period", 0600, ar->debug.debugfs_phy, ar,
+                                   &fops_nf_cal_period);
+       }
 
        debugfs_create_file("ani_enable", 0600, ar->debug.debugfs_phy, ar,
                            &fops_ani_enable);
 
-       debugfs_create_file("nf_cal_period", 0600, ar->debug.debugfs_phy, ar,
-                           &fops_nf_cal_period);
-
        if (IS_ENABLED(CONFIG_ATH10K_DFS_CERTIFIED)) {
                debugfs_create_file("dfs_simulate_radar", 0200, ar->debug.debugfs_phy,
                                    ar, &fops_simulate_radar);