Re: [PATCH 1/5] ath9k: add counters for good and errorneous FFT/spectral frames

2018-10-01 Thread Kalle Valo
Simon Wunderlich  wrote:

> This is helpful to see whether spectral samples get discarded.
> 
> Signed-off-by: Simon Wunderlich 
> Signed-off-by: Kalle Valo 

5 patches applied to ath-next branch of ath.git, thanks.

03224678c013 ath9k: add counters for good and errorneous FFT/spectral frames
b796a6c04e65 ath9k: return when short FFT frame was handled
2f85786b8a57 ath9k: fix and simplify FFT max index retrieval
4e7a3fa5394e ath9k: FFT magnitude check: don't consider lower 3 data bits
4fb5837ac2bd ath9k: fix reporting calculated new FFT upper max

-- 
https://patchwork.kernel.org/patch/10605607/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches



[PATCH 1/5] ath9k: add counters for good and errorneous FFT/spectral frames

2018-09-19 Thread Simon Wunderlich
This is helpful to see whether spectral samples get discarded.

Signed-off-by: Simon Wunderlich 
---
 drivers/net/wireless/ath/ath9k/common-debug.c|  2 ++
 drivers/net/wireless/ath/ath9k/common-debug.h|  4 
 drivers/net/wireless/ath/ath9k/common-spectral.c | 15 +--
 3 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/common-debug.c 
b/drivers/net/wireless/ath/ath9k/common-debug.c
index 239429f10378..53ca4b063eb9 100644
--- a/drivers/net/wireless/ath/ath9k/common-debug.c
+++ b/drivers/net/wireless/ath/ath9k/common-debug.c
@@ -144,6 +144,8 @@ static ssize_t read_file_recv(struct file *file, char 
__user *user_buf,
RXS_ERR("BEACONS", rx_beacons);
RXS_ERR("FRAGS", rx_frags);
RXS_ERR("SPECTRAL", rx_spectral);
+   RXS_ERR("SPECTRAL SMPL GOOD", rx_spectral_sample_good);
+   RXS_ERR("SPECTRAL SMPL ERR", rx_spectral_sample_err);
 
RXS_ERR("CRC ERR", crc_err);
RXS_ERR("DECRYPT CRC ERR", decrypt_crc_err);
diff --git a/drivers/net/wireless/ath/ath9k/common-debug.h 
b/drivers/net/wireless/ath/ath9k/common-debug.h
index 3376990d3a24..2938b5b96b07 100644
--- a/drivers/net/wireless/ath/ath9k/common-debug.h
+++ b/drivers/net/wireless/ath/ath9k/common-debug.h
@@ -39,6 +39,8 @@
  * @rx_beacons:  No. of beacons received.
  * @rx_frags:  No. of rx-fragements received.
  * @rx_spectral: No of spectral packets received.
+ * @rx_spectral_sample_good: No. of good spectral samples
+ * @rx_spectral_sample_err: No. of good spectral samples
  */
 struct ath_rx_stats {
u32 rx_pkts_all;
@@ -58,6 +60,8 @@ struct ath_rx_stats {
u32 rx_beacons;
u32 rx_frags;
u32 rx_spectral;
+   u32 rx_spectral_sample_good;
+   u32 rx_spectral_sample_err;
 };
 
 #ifdef CONFIG_ATH9K_COMMON_DEBUG
diff --git a/drivers/net/wireless/ath/ath9k/common-spectral.c 
b/drivers/net/wireless/ath/ath9k/common-spectral.c
index 440e16e641e4..0c5559009a28 100644
--- a/drivers/net/wireless/ath/ath9k/common-spectral.c
+++ b/drivers/net/wireless/ath/ath9k/common-spectral.c
@@ -501,6 +501,7 @@ int ath_cmn_process_fft(struct ath_spec_scan_priv 
*spec_priv, struct ieee80211_h
u8 sample_buf[SPECTRAL_SAMPLE_MAX_LEN] = {0};
struct ath_hw *ah = spec_priv->ah;
struct ath_common *common = ath9k_hw_common(spec_priv->ah);
+   struct ath_softc *sc = (struct ath_softc *)common->priv;
u8 num_bins, *vdata = (u8 *)hdr;
struct ath_radar_info *radar_info;
int len = rs->rs_datalen;
@@ -649,8 +650,13 @@ int ath_cmn_process_fft(struct ath_spec_scan_priv 
*spec_priv, struct ieee80211_h
   sample_buf, sample_len,
   sample_bytes);
 
-   fft_handler(rs, spec_priv, sample_buf,
-   tsf, freq, chan_type);
+   ret = fft_handler(rs, spec_priv, sample_buf,
+ tsf, freq, chan_type);
+
+   if (ret == 0)
+   RX_STAT_INC(rx_spectral_sample_good);
+   else
+   RX_STAT_INC(rx_spectral_sample_err);
 
memset(sample_buf, 0, SPECTRAL_SAMPLE_MAX_LEN);
 
@@ -665,6 +671,11 @@ int ath_cmn_process_fft(struct ath_spec_scan_priv 
*spec_priv, struct ieee80211_h
ret = fft_handler(rs, spec_priv, sample_start,
  tsf, freq, chan_type);
 
+   if (ret == 0)
+   RX_STAT_INC(rx_spectral_sample_good);
+   else
+   RX_STAT_INC(rx_spectral_sample_err);
+
/* Mix the received bins to the /dev/random
 * pool
 */
-- 
2.11.0