diff options
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/debug.c')
| -rw-r--r-- | drivers/net/wireless/ath/ath9k/debug.c | 135 | 
1 files changed, 77 insertions, 58 deletions
diff --git a/drivers/net/wireless/ath/ath9k/debug.c b/drivers/net/wireless/ath/ath9k/debug.c index 8df5a92a20f..bad1a87249b 100644 --- a/drivers/net/wireless/ath/ath9k/debug.c +++ b/drivers/net/wireless/ath/ath9k/debug.c @@ -326,6 +326,8 @@ void ath_debug_stat_interrupt(struct ath_softc *sc, enum ath9k_int status)  		sc->debug.stats.istats.dtimsync++;  	if (status & ATH9K_INT_DTIM)  		sc->debug.stats.istats.dtim++; +	if (status & ATH9K_INT_TSFOOR) +		sc->debug.stats.istats.tsfoor++;  }  static ssize_t read_file_interrupt(struct file *file, char __user *user_buf, @@ -380,8 +382,11 @@ static ssize_t read_file_interrupt(struct file *file, char __user *user_buf,  	len += snprintf(buf + len, sizeof(buf) - len,  		"%8s: %10u\n", "DTIM", sc->debug.stats.istats.dtim);  	len += snprintf(buf + len, sizeof(buf) - len, +		"%8s: %10u\n", "TSFOOR", sc->debug.stats.istats.tsfoor); +	len += snprintf(buf + len, sizeof(buf) - len,  		"%8s: %10u\n", "TOTAL", sc->debug.stats.istats.total); +  	if (len > sizeof(buf))  		len = sizeof(buf); @@ -845,7 +850,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 +879,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 +981,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  } @@ -1088,67 +1131,43 @@ int ath9k_init_debug(struct ath_hw *ah)  		return -ENOMEM;  #ifdef CONFIG_ATH_DEBUG -	if (!debugfs_create_file("debug", S_IRUSR | S_IWUSR, -			sc->debug.debugfs_phy, sc, &fops_debug)) -		goto err; +	debugfs_create_file("debug", S_IRUSR | S_IWUSR, sc->debug.debugfs_phy, +			    sc, &fops_debug);  #endif +	debugfs_create_file("dma", S_IRUSR, sc->debug.debugfs_phy, sc, +			    &fops_dma); +	debugfs_create_file("interrupt", S_IRUSR, sc->debug.debugfs_phy, sc, +			    &fops_interrupt); +	debugfs_create_file("wiphy", S_IRUSR | S_IWUSR, sc->debug.debugfs_phy, +			    sc, &fops_wiphy); +	debugfs_create_file("xmit", S_IRUSR, sc->debug.debugfs_phy, sc, +			    &fops_xmit); +	debugfs_create_file("stations", S_IRUSR, sc->debug.debugfs_phy, sc, +			    &fops_stations); +	debugfs_create_file("misc", S_IRUSR, sc->debug.debugfs_phy, sc, +			    &fops_misc); +	debugfs_create_file("recv", S_IRUSR, sc->debug.debugfs_phy, sc, +			    &fops_recv); +	debugfs_create_file("rx_chainmask", S_IRUSR | S_IWUSR, +			    sc->debug.debugfs_phy, sc, &fops_rx_chainmask); +	debugfs_create_file("tx_chainmask", S_IRUSR | S_IWUSR, +			    sc->debug.debugfs_phy, sc, &fops_tx_chainmask); +	debugfs_create_file("regidx", S_IRUSR | S_IWUSR, sc->debug.debugfs_phy, +			    sc, &fops_regidx); +	debugfs_create_file("regval", S_IRUSR | S_IWUSR, sc->debug.debugfs_phy, +			    sc, &fops_regval); +	debugfs_create_bool("ignore_extcca", S_IRUSR | S_IWUSR, +			    sc->debug.debugfs_phy, +			    &ah->config.cwm_ignore_extcca); +	debugfs_create_file("regdump", S_IRUSR, sc->debug.debugfs_phy, sc, +			    &fops_regdump); -	if (!debugfs_create_file("dma", S_IRUSR, sc->debug.debugfs_phy, -			sc, &fops_dma)) -		goto err; - -	if (!debugfs_create_file("interrupt", S_IRUSR, sc->debug.debugfs_phy, -			sc, &fops_interrupt)) -		goto err; - -	if (!debugfs_create_file("wiphy", S_IRUSR | S_IWUSR, -			sc->debug.debugfs_phy, sc, &fops_wiphy)) -		goto err; - -	if (!debugfs_create_file("xmit", S_IRUSR, sc->debug.debugfs_phy, -			sc, &fops_xmit)) -		goto err; - -	if (!debugfs_create_file("stations", S_IRUSR, sc->debug.debugfs_phy, -			sc, &fops_stations)) -		goto err; - -	if (!debugfs_create_file("misc", S_IRUSR, sc->debug.debugfs_phy, -			sc, &fops_misc)) -		goto err; - -	if (!debugfs_create_file("recv", S_IRUSR, sc->debug.debugfs_phy, -			sc, &fops_recv)) -		goto err; - -	if (!debugfs_create_file("rx_chainmask", S_IRUSR | S_IWUSR, -			sc->debug.debugfs_phy, sc, &fops_rx_chainmask)) -		goto err; - -	if (!debugfs_create_file("tx_chainmask", S_IRUSR | S_IWUSR, -			sc->debug.debugfs_phy, sc, &fops_tx_chainmask)) -		goto err; - -	if (!debugfs_create_file("regidx", S_IRUSR | S_IWUSR, -			sc->debug.debugfs_phy, sc, &fops_regidx)) -		goto err; - -	if (!debugfs_create_file("regval", S_IRUSR | S_IWUSR, -			sc->debug.debugfs_phy, sc, &fops_regval)) -		goto err; - -	if (!debugfs_create_bool("ignore_extcca", S_IRUSR | S_IWUSR, -			sc->debug.debugfs_phy, &ah->config.cwm_ignore_extcca)) -		goto err; +	debugfs_create_u32("gpio_mask", S_IRUSR | S_IWUSR, +			   sc->debug.debugfs_phy, &sc->sc_ah->gpio_mask); -	if (!debugfs_create_file("regdump", S_IRUSR, sc->debug.debugfs_phy, -			sc, &fops_regdump)) -		goto err; +	debugfs_create_u32("gpio_val", S_IRUSR | S_IWUSR, +			   sc->debug.debugfs_phy, &sc->sc_ah->gpio_val);  	sc->debug.regidx = 0;  	return 0; -err: -	debugfs_remove_recursive(sc->debug.debugfs_phy); -	sc->debug.debugfs_phy = NULL; -	return -ENOMEM;  }  |