diff options
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/debug.c')
| -rw-r--r-- | drivers/net/wireless/ath/ath9k/debug.c | 104 | 
1 files changed, 5 insertions, 99 deletions
| diff --git a/drivers/net/wireless/ath/ath9k/debug.c b/drivers/net/wireless/ath/ath9k/debug.c index 957e38646fdc..f9df82bdd213 100644 --- a/drivers/net/wireless/ath/ath9k/debug.c +++ b/drivers/net/wireless/ath/ath9k/debug.c @@ -512,62 +512,19 @@ static const struct file_operations fops_interrupt = {  	.llseek = default_llseek,  }; -#define PR_QNUM(_n) sc->tx.txq_map[_n]->axq_qnum -#define PR(str, elem)							\ -	do {								\ -		len += snprintf(buf + len, size - len,			\ -				"%s%13u%11u%10u%10u\n", str,		\ -		sc->debug.stats.txstats[PR_QNUM(IEEE80211_AC_BE)].elem, \ -		sc->debug.stats.txstats[PR_QNUM(IEEE80211_AC_BK)].elem, \ -		sc->debug.stats.txstats[PR_QNUM(IEEE80211_AC_VI)].elem, \ -		sc->debug.stats.txstats[PR_QNUM(IEEE80211_AC_VO)].elem); \ -		if (len >= size)			  \ -			goto done;			  \ -} while(0) - -#define PRX(str, elem)							\ -do {									\ -	len += snprintf(buf + len, size - len,				\ -			"%s%13u%11u%10u%10u\n", str,			\ -			(unsigned int)(sc->tx.txq_map[IEEE80211_AC_BE]->elem),	\ -			(unsigned int)(sc->tx.txq_map[IEEE80211_AC_BK]->elem),	\ -			(unsigned int)(sc->tx.txq_map[IEEE80211_AC_VI]->elem),	\ -			(unsigned int)(sc->tx.txq_map[IEEE80211_AC_VO]->elem));	\ -	if (len >= size)						\ -		goto done;						\ -} while(0) - -#define PRQLE(str, elem)						\ -do {									\ -	len += snprintf(buf + len, size - len,				\ -			"%s%13i%11i%10i%10i\n", str,			\ -			list_empty(&sc->tx.txq_map[IEEE80211_AC_BE]->elem),	\ -			list_empty(&sc->tx.txq_map[IEEE80211_AC_BK]->elem),	\ -			list_empty(&sc->tx.txq_map[IEEE80211_AC_VI]->elem),	\ -			list_empty(&sc->tx.txq_map[IEEE80211_AC_VO]->elem));	\ -	if (len >= size)						\ -		goto done;						\ -} while (0) -  static ssize_t read_file_xmit(struct file *file, char __user *user_buf,  			      size_t count, loff_t *ppos)  {  	struct ath_softc *sc = file->private_data;  	char *buf; -	unsigned int len = 0, size = 8000; -	int i; +	unsigned int len = 0, size = 2048;  	ssize_t retval = 0; -	char tmp[32];  	buf = kzalloc(size, GFP_KERNEL);  	if (buf == NULL)  		return -ENOMEM; -	len += sprintf(buf, "Num-Tx-Queues: %i  tx-queues-setup: 0x%x" -		       " poll-work-seen: %u\n" -		       "%30s %10s%10s%10s\n\n", -		       ATH9K_NUM_TX_QUEUES, sc->tx.txqsetup, -		       sc->tx_complete_poll_work_seen, +	len += sprintf(buf, "%30s %10s%10s%10s\n\n",  		       "BE", "BK", "VI", "VO");  	PR("MPDUs Queued:    ", queued); @@ -587,62 +544,11 @@ static ssize_t read_file_xmit(struct file *file, char __user *user_buf,  	PR("DELIM Underrun:  ", delim_underrun);  	PR("TX-Pkts-All:     ", tx_pkts_all);  	PR("TX-Bytes-All:    ", tx_bytes_all); -	PR("hw-put-tx-buf:   ", puttxbuf); -	PR("hw-tx-start:     ", txstart); -	PR("hw-tx-proc-desc: ", txprocdesc); +	PR("HW-put-tx-buf:   ", puttxbuf); +	PR("HW-tx-start:     ", txstart); +	PR("HW-tx-proc-desc: ", txprocdesc);  	PR("TX-Failed:       ", txfailed); -	len += snprintf(buf + len, size - len, -			"%s%11p%11p%10p%10p\n", "txq-memory-address:", -			sc->tx.txq_map[IEEE80211_AC_BE], -			sc->tx.txq_map[IEEE80211_AC_BK], -			sc->tx.txq_map[IEEE80211_AC_VI], -			sc->tx.txq_map[IEEE80211_AC_VO]); -	if (len >= size) -		goto done; - -	PRX("axq-qnum:        ", axq_qnum); -	PRX("axq-depth:       ", axq_depth); -	PRX("axq-ampdu_depth: ", axq_ampdu_depth); -	PRX("axq-stopped      ", stopped); -	PRX("tx-in-progress   ", axq_tx_inprogress); -	PRX("pending-frames   ", pending_frames); -	PRX("txq_headidx:     ", txq_headidx); -	PRX("txq_tailidx:     ", txq_headidx); - -	PRQLE("axq_q empty:       ", axq_q); -	PRQLE("axq_acq empty:     ", axq_acq); -	for (i = 0; i < ATH_TXFIFO_DEPTH; i++) { -		snprintf(tmp, sizeof(tmp) - 1, "txq_fifo[%i] empty: ", i); -		PRQLE(tmp, txq_fifo[i]); -	} - -	/* Print out more detailed queue-info */ -	for (i = 0; i <= IEEE80211_AC_BK; i++) { -		struct ath_txq *txq = &(sc->tx.txq[i]); -		struct ath_atx_ac *ac; -		struct ath_atx_tid *tid; -		if (len >= size) -			goto done; -		spin_lock_bh(&txq->axq_lock); -		if (!list_empty(&txq->axq_acq)) { -			ac = list_first_entry(&txq->axq_acq, struct ath_atx_ac, -					      list); -			len += snprintf(buf + len, size - len, -					"txq[%i] first-ac: %p sched: %i\n", -					i, ac, ac->sched); -			if (list_empty(&ac->tid_q) || (len >= size)) -				goto done_for; -			tid = list_first_entry(&ac->tid_q, struct ath_atx_tid, -					       list); -			len += snprintf(buf + len, size - len, -					" first-tid: %p sched: %i paused: %i\n", -					tid, tid->sched, tid->paused); -		} -	done_for: -		spin_unlock_bh(&txq->axq_lock); -	} -done:  	if (len > size)  		len = size; |