Commit 4e6975f7 authored by Ben Greear's avatar Ben Greear Committed by John W. Linville
Browse files

ath9k: Show channel type and frequency in debugfs.

parent 4c89fe95
Loading
Loading
Loading
Loading
+21 −2
Original line number Diff line number Diff line
@@ -381,21 +381,40 @@ static const struct file_operations fops_interrupt = {
	.llseek = default_llseek,
};

static const char *channel_type_str(enum nl80211_channel_type t)
{
	switch (t) {
	case NL80211_CHAN_NO_HT:
		return "no ht";
	case NL80211_CHAN_HT20:
		return "ht20";
	case NL80211_CHAN_HT40MINUS:
		return "ht40-";
	case NL80211_CHAN_HT40PLUS:
		return "ht40+";
	default:
		return "???";
	}
}

static ssize_t read_file_wiphy(struct file *file, char __user *user_buf,
			       size_t count, loff_t *ppos)
{
	struct ath_softc *sc = file->private_data;
	struct ieee80211_channel *chan = sc->hw->conf.channel;
	struct ieee80211_conf *conf = &(sc->hw->conf);
	char buf[512];
	unsigned int len = 0;
	u8 addr[ETH_ALEN];
	u32 tmp;

	len += snprintf(buf + len, sizeof(buf) - len,
			"%s (chan=%d ht=%d)\n",
			"%s (chan=%d  center-freq: %d MHz  channel-type: %d (%s))\n",
			wiphy_name(sc->hw->wiphy),
			ieee80211_frequency_to_channel(chan->center_freq),
			conf_is_ht(&sc->hw->conf));
			chan->center_freq,
			conf->channel_type,
			channel_type_str(conf->channel_type));

	put_unaligned_le32(REG_READ_D(sc->sc_ah, AR_STA_ID0), addr);
	put_unaligned_le16(REG_READ_D(sc->sc_ah, AR_STA_ID1) & 0xffff, addr + 4);