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

Commit 7d755414 authored by Senthil Balasubramanian's avatar Senthil Balasubramanian Committed by John W. Linville
Browse files

ath9k: Add RSSI information from control and extension chains



Export RSSI information from all the control and extension
channel chains to debugfs. Also add rx antenna information
to debugfs. This will be useful for debugging purpose.

Signed-off-by: default avatarSenthil Balasubramanian <senthilkumar@atheros.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 1570ca59
Loading
Loading
Loading
Loading
+39 −1
Original line number Diff line number Diff line
@@ -845,7 +845,7 @@ static ssize_t read_file_recv(struct file *file, char __user *user_buf,

	struct ath_softc *sc = file->private_data;
	char *buf;
	unsigned int len = 0, size = 1152;
	unsigned int len = 0, size = 1400;
	ssize_t retval = 0;

	buf = kzalloc(size, GFP_KERNEL);
@@ -874,6 +874,34 @@ static ssize_t read_file_recv(struct file *file, char __user *user_buf,
			"%18s : %10u\n", "DECRYPT BUSY ERR",
			sc->debug.stats.rxstats.decrypt_busy_err);

	len += snprintf(buf + len, size - len,
			"%18s : %10d\n", "RSSI-CTL0",
			sc->debug.stats.rxstats.rs_rssi_ctl0);

	len += snprintf(buf + len, size - len,
			"%18s : %10d\n", "RSSI-CTL1",
			sc->debug.stats.rxstats.rs_rssi_ctl1);

	len += snprintf(buf + len, size - len,
			"%18s : %10d\n", "RSSI-CTL2",
			sc->debug.stats.rxstats.rs_rssi_ctl2);

	len += snprintf(buf + len, size - len,
			"%18s : %10d\n", "RSSI-EXT0",
			sc->debug.stats.rxstats.rs_rssi_ext0);

	len += snprintf(buf + len, size - len,
			"%18s : %10d\n", "RSSI-EXT1",
			sc->debug.stats.rxstats.rs_rssi_ext1);

	len += snprintf(buf + len, size - len,
			"%18s : %10d\n", "RSSI-EXT2",
			sc->debug.stats.rxstats.rs_rssi_ext2);

	len += snprintf(buf + len, size - len,
			"%18s : %10d\n", "Rx Antenna",
			sc->debug.stats.rxstats.rs_antenna);

	PHY_ERR("UNDERRUN", ATH9K_PHYERR_UNDERRUN);
	PHY_ERR("TIMING", ATH9K_PHYERR_TIMING);
	PHY_ERR("PARITY", ATH9K_PHYERR_PARITY);
@@ -948,6 +976,16 @@ void ath_debug_stat_rx(struct ath_softc *sc, struct ath_rx_status *rs)
		RX_PHY_ERR_INC(phyerr);
	}

	sc->debug.stats.rxstats.rs_rssi_ctl0 = rs->rs_rssi_ctl0;
	sc->debug.stats.rxstats.rs_rssi_ctl1 = rs->rs_rssi_ctl1;
	sc->debug.stats.rxstats.rs_rssi_ctl2 = rs->rs_rssi_ctl2;

	sc->debug.stats.rxstats.rs_rssi_ext0 = rs->rs_rssi_ext0;
	sc->debug.stats.rxstats.rs_rssi_ext1 = rs->rs_rssi_ext1;
	sc->debug.stats.rxstats.rs_rssi_ext2 = rs->rs_rssi_ext2;

	sc->debug.stats.rxstats.rs_antenna = rs->rs_antenna;

#undef RX_STAT_INC
#undef RX_PHY_ERR_INC
}
+7 −0
Original line number Diff line number Diff line
@@ -157,6 +157,13 @@ struct ath_rx_stats {
	u32 post_delim_crc_err;
	u32 decrypt_busy_err;
	u32 phy_err_stats[ATH9K_PHYERR_MAX];
	int8_t rs_rssi_ctl0;
	int8_t rs_rssi_ctl1;
	int8_t rs_rssi_ctl2;
	int8_t rs_rssi_ext0;
	int8_t rs_rssi_ext1;
	int8_t rs_rssi_ext2;
	u8 rs_antenna;
};

struct ath_stats {