Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 03224678 authored by Simon Wunderlich's avatar Simon Wunderlich Committed by Kalle Valo
Browse files

ath9k: add counters for good and errorneous FFT/spectral frames



This is helpful to see whether spectral samples get discarded.

Signed-off-by: default avatarSimon Wunderlich <sw@simonwunderlich.de>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent ec95e84c
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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);
+4 −0
Original line number Diff line number Diff line
@@ -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
+13 −2
Original line number Diff line number Diff line
@@ -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,9 +650,14 @@ 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,
				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);

				/* Mix the received bins to the /dev/random
@@ -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
				 */