diff mbox

ath10k: Change the fw stats access mask

Message ID 1427476680-5532-1-git-send-email-yanbol@qca.qualcomm.com (mailing list archive)
State Accepted
Headers show

Commit Message

Yanbo Li March 27, 2015, 5:18 p.m. UTC
This fix the regerssion introduced after "ath10k_wmi_requests_stats()
call to use more stat bits", both the 10.2.X FW and community FW 10.1.X
will return time out when access the fw_stats with the STAT_VDEV and
STAT_PDEV. Add the condition to use different fw_stats mask for different
FW versions.

Fixes:7777d8c7ef6f("ath10k: implement fw stats for wmi-tlv")
Signed-off-by: Yanbo Li <yanbol@qca.qualcomm.com>

Comments

Kalle Valo March 30, 2015, 1:31 p.m. UTC | #1
Yanbo Li <yanbol@qca.qualcomm.com> writes:

> This fix the regerssion introduced after "ath10k_wmi_requests_stats()
> call to use more stat bits", both the 10.2.X FW and community FW 10.1.X
> will return time out when access the fw_stats with the STAT_VDEV and
> STAT_PDEV. Add the condition to use different fw_stats mask for different
> FW versions.
>
> Fixes:7777d8c7ef6f("ath10k: implement fw stats for wmi-tlv")
> Signed-off-by: Yanbo Li <yanbol@qca.qualcomm.com>

There was a trivial conflict, please check my resolution in the pending
branch.
YanBo March 30, 2015, 6:17 p.m. UTC | #2
On Mon, Mar 30, 2015 at 6:31 AM, Kalle Valo <kvalo@qca.qualcomm.com> wrote:
> Yanbo Li <yanbol@qca.qualcomm.com> writes:
>
>> This fix the regerssion introduced after "ath10k_wmi_requests_stats()
>> call to use more stat bits", both the 10.2.X FW and community FW 10.1.X
>> will return time out when access the fw_stats with the STAT_VDEV and
>> STAT_PDEV. Add the condition to use different fw_stats mask for different
>> FW versions.
>>
>> Fixes:7777d8c7ef6f("ath10k: implement fw stats for wmi-tlv")
>> Signed-off-by: Yanbo Li <yanbol@qca.qualcomm.com>
>
> There was a trivial conflict, please check my resolution in the pending
> branch.
>
Checked, looks well,  Thanks

BR /Yanbo
Kalle Valo April 9, 2015, 12:08 p.m. UTC | #3
Yanbo Li <yanbol@qca.qualcomm.com> writes:

> This fix the regerssion introduced after "ath10k_wmi_requests_stats()
> call to use more stat bits", both the 10.2.X FW and community FW 10.1.X
> will return time out when access the fw_stats with the STAT_VDEV and
> STAT_PDEV. Add the condition to use different fw_stats mask for different
> FW versions.
>
> Fixes:7777d8c7ef6f("ath10k: implement fw stats for wmi-tlv")
> Signed-off-by: Yanbo Li <yanbol@qca.qualcomm.com>

Thanks, applied.
diff mbox

Patch

diff --git a/drivers/net/wireless/ath/ath10k/core.c b/drivers/net/wireless/ath/ath10k/core.c
index c0e454bb6a8d..e1db4d018e90 100644
--- a/drivers/net/wireless/ath/ath10k/core.c
+++ b/drivers/net/wireless/ath/ath10k/core.c
@@ -958,6 +958,8 @@  static int ath10k_core_init_firmware_features(struct ath10k *ar)
 		ar->max_num_stations = TARGET_NUM_STATIONS;
 		ar->max_num_vdevs = TARGET_NUM_VDEVS;
 		ar->htt.max_num_pending_tx = TARGET_NUM_MSDU_DESC;
+		ar->fw_stats_req_mask = WMI_STAT_PDEV | WMI_STAT_VDEV |
+			WMI_STAT_PEER;
 		break;
 	case ATH10K_FW_WMI_OP_VERSION_10_1:
 	case ATH10K_FW_WMI_OP_VERSION_10_2:
@@ -966,12 +968,15 @@  static int ath10k_core_init_firmware_features(struct ath10k *ar)
 		ar->max_num_stations = TARGET_10X_NUM_STATIONS;
 		ar->max_num_vdevs = TARGET_10X_NUM_VDEVS;
 		ar->htt.max_num_pending_tx = TARGET_10X_NUM_MSDU_DESC;
+		ar->fw_stats_req_mask = WMI_STAT_PEER;
 		break;
 	case ATH10K_FW_WMI_OP_VERSION_TLV:
 		ar->max_num_peers = TARGET_TLV_NUM_PEERS;
 		ar->max_num_stations = TARGET_TLV_NUM_STATIONS;
 		ar->max_num_vdevs = TARGET_TLV_NUM_VDEVS;
 		ar->htt.max_num_pending_tx = TARGET_TLV_NUM_MSDU_DESC;
+		ar->fw_stats_req_mask = WMI_STAT_PDEV | WMI_STAT_VDEV |
+			WMI_STAT_PEER;
 		break;
 	case ATH10K_FW_WMI_OP_VERSION_UNSET:
 	case ATH10K_FW_WMI_OP_VERSION_MAX:
diff --git a/drivers/net/wireless/ath/ath10k/core.h b/drivers/net/wireless/ath/ath10k/core.h
index cfd37a6e8931..1545a37c6360 100644
--- a/drivers/net/wireless/ath/ath10k/core.h
+++ b/drivers/net/wireless/ath/ath10k/core.h
@@ -514,6 +514,7 @@  struct ath10k {
 	u32 fw_version_minor;
 	u16 fw_version_release;
 	u16 fw_version_build;
+	u32 fw_stats_req_mask;
 	u32 phy_capability;
 	u32 hw_min_tx_power;
 	u32 hw_max_tx_power;
diff --git a/drivers/net/wireless/ath/ath10k/debug.c b/drivers/net/wireless/ath/ath10k/debug.c
index 51cf536fd014..544c22e0a1d8 100644
--- a/drivers/net/wireless/ath/ath10k/debug.c
+++ b/drivers/net/wireless/ath/ath10k/debug.c
@@ -395,10 +395,7 @@  static int ath10k_debug_fw_stats_request(struct ath10k *ar)
 
 		reinit_completion(&ar->debug.fw_stats_complete);
 
-		ret = ath10k_wmi_request_stats(ar,
-					       WMI_STAT_PDEV |
-					       WMI_STAT_VDEV |
-					       WMI_STAT_PEER);
+		ret = ath10k_wmi_request_stats(ar, ar->fw_stats_req_mask);
 		if (ret) {
 			ath10k_warn(ar, "could not request stats (%d)\n", ret);
 			return ret;