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

Commit 18fcf1c6 authored by Felix Fietkau's avatar Felix Fietkau Committed by John W. Linville
Browse files

ath9k: add CAB queue info to debugfs

parent 1803d02d
Loading
Loading
Loading
Loading
+27 −16
Original line number Diff line number Diff line
@@ -732,6 +732,28 @@ static ssize_t read_file_xmit(struct file *file, char __user *user_buf,
	return retval;
}

static ssize_t print_queue(struct ath_softc *sc, struct ath_txq *txq,
			   char *buf, ssize_t size)
{
	ssize_t len = 0;

	ath_txq_lock(sc, txq);

	len += snprintf(buf + len, size - len, "%s: %d ",
			"qnum", txq->axq_qnum);
	len += snprintf(buf + len, size - len, "%s: %2d ",
			"qdepth", txq->axq_depth);
	len += snprintf(buf + len, size - len, "%s: %2d ",
			"ampdu-depth", txq->axq_ampdu_depth);
	len += snprintf(buf + len, size - len, "%s: %3d ",
			"pending", txq->pending_frames);
	len += snprintf(buf + len, size - len, "%s: %d\n",
			"stopped", txq->stopped);

	ath_txq_unlock(sc, txq);
	return len;
}

static ssize_t read_file_queues(struct file *file, char __user *user_buf,
				size_t count, loff_t *ppos)
{
@@ -750,23 +772,12 @@ static ssize_t read_file_queues(struct file *file, char __user *user_buf,
	for (i = 0; i < IEEE80211_NUM_ACS; i++) {
		txq = sc->tx.txq_map[i];
		len += snprintf(buf + len, size - len, "(%s):  ", qname[i]);

		ath_txq_lock(sc, txq);

		len += snprintf(buf + len, size - len, "%s: %d ",
				"qnum", txq->axq_qnum);
		len += snprintf(buf + len, size - len, "%s: %2d ",
				"qdepth", txq->axq_depth);
		len += snprintf(buf + len, size - len, "%s: %2d ",
				"ampdu-depth", txq->axq_ampdu_depth);
		len += snprintf(buf + len, size - len, "%s: %3d ",
				"pending", txq->pending_frames);
		len += snprintf(buf + len, size - len, "%s: %d\n",
				"stopped", txq->stopped);

		ath_txq_unlock(sc, txq);
		len += print_queue(sc, txq, buf + len, size - len);
	}

	len += snprintf(buf + len, size - len, "(CAB): ");
	len += print_queue(sc, sc->beacon.cabq, buf + len, size - len);

	if (len > size)
		len = size;