linux/drivers/net/wireless/ath/ath10k
Surabhi Vishnoi f40a307eb9 ath10k: Fill rx duration for each peer in fw_stats for WCN3990
Currently, rx_duration for each peer is not getting populated in
fw_stats debugfs entry for WCN3990.

WCN3990 firmware sends rx duration for each peer as part of
peer_extd_stats in WMI_UPDATE_STATS_EVENT. To enable peer_extd_stats,
firmware expects host to send fw_stats_req_mask with flag
WMI_TLV_PEER_STATS_EXTD set in WMI_REQUEST_STATS_CMD.

Send fw_stats_req_mask with flag WMI_TLV_PEER_STATS_EXTD set in
WMI_REQUEST_STATS_CMD and parse the peer_extd_stats in
WMI_UPDATE_STATS_EVENT to populate the rx_duration of each peer
in fw_stats debugfs entry.

Currently the driver handles 32-bit rx_duration, but the rx_duration
for WCN3990 can be upto 63 bit. The firmware sends rx_duration split
into two 32-bit fields, with the upper 32-bits being valid only if its
MSB is set. This change handles the 63-bit rx_duration obtained from
WCN3990 and maintain the backward compatibility.

To get the rx_duration of each connected peer :
cat /sys/kernel/debug/ieee80211/phyX/ath10k/fw_stats

Tested HW: WCN3990
Tested FW: WLAN.HL.3.1-00784-QCAHLSWMTPLZ-1

Signed-off-by: Surabhi Vishnoi <svishnoi@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2019-02-28 10:48:19 +02:00
..
ahb.c ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
ahb.h ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
bmi.c ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
bmi.h ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
ce.c ath10k: fix descriptor size in ce tx completion for WCN3990 2019-02-26 14:56:19 +02:00
ce.h ath10k: fix descriptor size in ce tx completion for WCN3990 2019-02-26 14:56:19 +02:00
core.c ath10k: Fill rx duration for each peer in fw_stats for WCN3990 2019-02-28 10:48:19 +02:00
core.h ath10k: Fill rx duration for each peer in fw_stats for WCN3990 2019-02-28 10:48:19 +02:00
coredump.c ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
coredump.h ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
debug.c ath10k: remove the calibration data fetch for sdio 2019-02-26 15:05:26 +02:00
debug.h ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
debugfs_sta.c ath10k: Fix the wrong updation of BW in tx_stats debugfs entry 2019-02-28 10:46:06 +02:00
hif.h ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
htc.c ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
htc.h ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
htt_rx.c ath10k: Fix the wrong calculation ht_idx and idx of rate table for tx_stats 2019-02-28 10:46:26 +02:00
htt_tx.c ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
htt.c ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
htt.h ath10k: add support for ack rssi value of data tx packets 2019-02-26 14:58:06 +02:00
hw.c ath10k: add support for ack rssi value of data tx packets 2019-02-26 14:58:06 +02:00
hw.h ath10k: update the max num of peers supported for WCN3990 2019-02-26 15:06:38 +02:00
Kconfig ath10k: remove work in progress logs from snoc driver 2018-12-20 19:03:15 +02:00
mac.c ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
mac.h ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
Makefile ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
p2p.c ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
p2p.h ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
pci.c ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
pci.h ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
qmi_wlfw_v01.c ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
qmi_wlfw_v01.h ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
qmi.c ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
qmi.h ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
rx_desc.h ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
sdio.c ath10k: sdio: reset chip on power_down() 2019-02-26 15:02:08 +02:00
sdio.h ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
snoc.c ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
snoc.h ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
spectral.c ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
spectral.h ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
swap.c ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
swap.h ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
targaddrs.h ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
testmode_i.h ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
testmode.c ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
testmode.h ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
thermal.c ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
thermal.h ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
trace.c ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
trace.h ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
txrx.c ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
txrx.h ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
usb.c ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
usb.h ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
wmi-ops.h ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
wmi-tlv.c ath10k: Fill rx duration for each peer in fw_stats for WCN3990 2019-02-28 10:48:19 +02:00
wmi-tlv.h ath10k: Fill rx duration for each peer in fw_stats for WCN3990 2019-02-28 10:48:19 +02:00
wmi.c ath10k: Fill rx duration for each peer in fw_stats for WCN3990 2019-02-28 10:48:19 +02:00
wmi.h ath10k: Fill rx duration for each peer in fw_stats for WCN3990 2019-02-28 10:48:19 +02:00
wow.c ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
wow.h ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00