1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/net/wireless/ath/ath10k
Venkateswara Naralasetty 720e5c03e5 ath10k: provide survey info as accumulated data
It is expected that the returned counters by .get_survey are monotonic
increasing. But the data from ath10k gets reset to zero regularly. Channel
active/busy time are then showing incorrect values (less than previous or
sometimes zero) for the currently active channel during successive survey
dump commands.

example:

  $ iw dev wlan0 survey dump
  Survey data from wlan0
  	frequency:                      5180 MHz [in use]
  	channel active time:            54995 ms
  	channel busy time:              432 ms
  	channel receive time:           0 ms
  	channel transmit time:          59 ms
  ...

  $ iw dev wlan0 survey dump
  Survey data from wlan0
  	frequency:                      5180 MHz [in use]
  	channel active time:            32592 ms
  	channel busy time:              254 ms
  	channel receive time:           0 ms
  	channel transmit time:          0 ms
  ...

The correct way to handle this is to use the non-clearing
WMI_BSS_SURVEY_REQ_TYPE_READ wmi_bss_survey_req_type. The firmware will
then accumulate the survey data and handle wrap arounds.

Tested-on: QCA9984 hw1.0 10.4-3.5.3-00057
Tested-on: QCA988X hw2.0 10.2.4-1.0-00047
Tested-on: QCA9888 hw2.0 10.4-3.9.0.2-00024
Tested-on: QCA4019 hw1.0 10.4-3.6-00140

Fixes: fa7937e3d5 ("ath10k: update bss channel survey information")
Signed-off-by: Venkateswara Naralasetty <vnaralas@codeaurora.org>
Tested-by: Markus Theil <markus.theil@tu-ilmenau.de>
Tested-by: John Deere <24601deerej@gmail.com>
[sven@narfation.org: adjust commit message]
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/1592232686-28712-1-git-send-email-kvalo@codeaurora.org
2020-06-16 11:15:53 +03:00
..
ahb.c ath10k: fix few checkpatch warnings 2020-02-11 16:17:33 +02:00
ahb.h ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
bmi.c ath10k: fix possible memory leak in ath10k_bmi_lz_data_large() 2020-05-04 11:52:07 +03:00
bmi.h ath10k: add large size for BMI download data for SDIO 2019-11-25 13:53:46 +02:00
ce.c ath10k: Wait until copy complete is actually done before completing 2020-06-16 11:11:03 +03:00
ce.h ath10k: Replace zero-length array with flexible-array 2020-05-11 15:36:31 +03:00
core.c ath10k: add rx bitrate report for SDIO 2020-04-28 12:12:31 +03:00
core.h ath10k: Replace zero-length array with flexible-array 2020-05-11 15:36:31 +03:00
coredump.c ath10k: fix backtrace on coredump 2019-10-01 14:17:45 +03:00
coredump.h ath10k: Replace zero-length array with flexible-array 2020-05-11 15:36:31 +03:00
debug.c ath10k: enable rx duration report default for wmi tlv 2020-04-27 08:01:25 +03:00
debug.h ath10k: Replace zero-length array with flexible-array 2020-05-11 15:36:31 +03:00
debugfs_sta.c ath10k: Add peer param map for tlv and non-tlv 2019-09-23 10:27:56 +03:00
hif.h ath10k: hif: make send_complete_check op optional 2020-04-21 15:04:02 +03:00
htc.c ath10k: drop the TX packet which size exceed credit size for sdio 2020-04-23 07:55:53 +03:00
htc.h ath10k: enable alt data of TX path for sdio 2020-04-22 09:43:32 +03:00
htt.c ath10k: add htt TX bundle for sdio 2020-04-22 09:43:29 +03:00
htt.h ath10k: fix gcc-10 zero-length-bounds warnings 2020-05-12 10:33:04 +03:00
htt_rx.c ath10k: fix retry packets update in station dump 2020-06-16 11:14:26 +03:00
htt_tx.c ath10k: Acquire tx_lock in tx error paths 2020-06-09 09:23:15 +03:00
hw.c ath10k: allow qca988x family to support ack rssi of tx data packets. 2020-03-12 10:20:02 +02:00
hw.h ath10k: Replace zero-length array with flexible-array 2020-05-11 15:36:31 +03:00
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
mac.c ath10k: provide survey info as accumulated data 2020-06-16 11:15:53 +03:00
mac.h ath10k: add support for hardware rfkill 2019-10-02 20:20:33 +03: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: Avoid override CE5 configuration for QCA99X0 chipsets 2020-05-05 10:33:42 +03:00
pci.h ath10k: fix ath10k_pci struct layout 2020-05-12 10:33:13 +03:00
qmi.c ath10k: Skip handling del_server during driver exit 2020-05-11 15:30:37 +03:00
qmi.h ath10k: Remove ath10k_qmi_register_service_notifier() declaration 2020-05-30 17:18:29 +03:00
qmi_wlfw_v01.c ath10k: Fix HOST capability QMI incompatibility 2019-09-17 17:03:13 +03:00
qmi_wlfw_v01.h ath10k: Fix HOST capability QMI incompatibility 2019-09-17 17:03:13 +03:00
rx_desc.h ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
sdio.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-06-03 16:27:18 -07:00
sdio.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-06-03 16:27:18 -07:00
snoc.c ath10k: Add support for targets without trustzone 2020-05-05 10:36:03 +03:00
snoc.h ath10k: Add support for targets without trustzone 2020-05-05 10:36:03 +03: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: remove unnecessary 'out of memory' message 2019-06-28 22:14:06 +03: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.c ath10k: Fix some typo in some warning messages 2019-12-17 16:24:17 +02:00
testmode.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
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: Add wrapper function to ath10k debug 2019-06-25 15:48:47 +03:00
trace.h ftrace: Rework event_create_dir() 2019-11-27 07:44:25 +01:00
txrx.c ath10k: fix kernel null pointer dereference 2020-04-07 07:54:53 +03:00
txrx.h ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
usb.c ath10k: hif: make send_complete_check op optional 2020-04-21 15:04:02 +03:00
usb.h ath10k: switch to use SPDX license identifiers 2019-02-20 10:33:00 +02:00
wmi-ops.h ath10k: Remove msdu from idr when management pkt send fails 2020-05-11 15:32:28 +03:00
wmi-tlv.c ath10k: fix __le32 warning in ath10k_wmi_tlv_op_gen_request_peer_stats_info() 2020-05-11 15:34:10 +03:00
wmi-tlv.h ath10k: Replace zero-length array with flexible-array 2020-05-11 15:36:31 +03:00
wmi.c ath10k: Fix typo in warning messages 2020-04-15 11:01:52 +03:00
wmi.h ath10k: Replace zero-length array with flexible-array 2020-05-11 15:36:31 +03: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