OSDN Git Service

ath10k: add wmi service peer stat info for wmi tlv
authorWen Gong <wgong@codeaurora.org>
Fri, 14 Aug 2020 15:55:50 +0000 (18:55 +0300)
committerKalle Valo <kvalo@codeaurora.org>
Sat, 15 Aug 2020 07:05:12 +0000 (10:05 +0300)
ath10k_sta_statistics is used to report info for iw wlan0 link,
it check ath10k_peer_stats_enabled, and ath10k_peer_stats_enabled
check WMI_SERVICE_PEER_STATS bit of ar->wmi.svc_map. SVCMAP() for
WMI_SERVICE_PEER_STATS was defined only for wmi_10x_svc_map and
wmi_10_4_svc_map interfaces, it missed in wmi_tlv_svc_map, so it is
not usable for iw wlan0 link for wmi tlv interface.

If firmware report WMI_TLV_SERVICE_PEER_STATS_INFO for wmi tlv, then
enable the WMI_SERVICE_PEER_STATS bit in ath10k, and then it pass check
in ath10k_peer_stats_enabled and ath10k_sta_statistics pass check.

Tested-on: QCA6174 hw3.2 SDIO WLAN.RMH.4.4.1-00048
Tested-on: QCA6174 hw3.2 PCI WLAN.RM.4.4.1-00110-QCARMSWP-1

Signed-off-by: Wen Gong <wgong@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/1597312029-32348-2-git-send-email-wgong@codeaurora.org
drivers/net/wireless/ath/ath10k/wmi-tlv.h

index e77b97c..b39c9b7 100644 (file)
@@ -1614,6 +1614,8 @@ wmi_tlv_svc_map(const __le32 *in, unsigned long *out, size_t len)
               WMI_SERVICE_MESH_11S, len);
        SVCMAP(WMI_TLV_SERVICE_SYNC_DELETE_CMDS,
               WMI_SERVICE_SYNC_DELETE_CMDS, len);
+       SVCMAP(WMI_TLV_SERVICE_PEER_STATS_INFO,
+              WMI_SERVICE_PEER_STATS, len);
 }
 
 static inline void