IEEE80211_RATE_MCS
(_v) = (_v / 2) | IEEE80211_RATE_MCS; \
(_v) = (_v / 2) | IEEE80211_RATE_MCS; \
rp->rate &~ IEEE80211_RATE_MCS);
rp->rate &~ IEEE80211_RATE_MCS);
tp->mgmtrate &~ IEEE80211_RATE_MCS,
tp->mcastrate &~ IEEE80211_RATE_MCS,
tp->ucastrate &~ IEEE80211_RATE_MCS,
tp->mgmtrate &~ IEEE80211_RATE_MCS,
tp->mcastrate &~ IEEE80211_RATE_MCS,
if ((v & IEEE80211_RATE_MCS) == 0) {
IEEE80211_RATE_MCS|0);
IEEE80211_RATE_MCS|0);
if (rate & IEEE80211_RATE_MCS) {
| IEEE80211_RATE_MCS;
rate = IEEE80211_RATE_MCS | 0x4; /* MCS4 */
sc->sc_rixmap[ieeerate | IEEE80211_RATE_MCS] = i;
sc->sc_hwmap[i].ieeerate |= IEEE80211_RATE_MCS;
sc->sc_stats.ast_tx_rate |= IEEE80211_RATE_MCS;
} else if (sc->sc_rx_th.wr_rate & IEEE80211_RATE_MCS) { /* HT rate */
#define IS_HT_RATE(_rc) ( (_rc) & IEEE80211_RATE_MCS)
KASSERT(rate & IEEE80211_RATE_MCS, ("not mcs %d", rate));
KASSERT((rate &~ IEEE80211_RATE_MCS) < 31, ("bad mcs 0x%x", rate));
#define MCS(_ix) (ni->ni_htrates.rs_rates[_ix] | IEEE80211_RATE_MCS)
tv->ratecode[y] |= IEEE80211_RATE_MCS;
#define MCS(ix) (rt->info[ix].dot11Rate | IEEE80211_RATE_MCS)
#define MCS(_ix) (ni->ni_htrates.rs_rates[_ix] | IEEE80211_RATE_MCS)
#define MCS(ix) (rt->info[ix].dot11Rate | IEEE80211_RATE_MCS)
#define MCS(ix) (rt->info[ix].dot11Rate | IEEE80211_RATE_MCS)
#define MCS(ix) (rt->info[ix].dot11Rate | IEEE80211_RATE_MCS)
if (rate & IEEE80211_RATE_MCS) {
if (rate & IEEE80211_RATE_MCS) {
if (rate & IEEE80211_RATE_MCS)
cmp_rate |= IEEE80211_RATE_MCS;
} else if ((rate & IEEE80211_RATE_MCS) &&
rate = IEEE80211_RATE_MCS | rs->rs_rates[txrate];
#define IEEE80211_IS_HT_RATE(_rc) ( (_rc) & IEEE80211_RATE_MCS)
if (rate & IEEE80211_RATE_MCS) {
rate &= ~IEEE80211_RATE_MCS;
if (rate & IEEE80211_RATE_MCS) {
rate &= ~IEEE80211_RATE_MCS;
rate |= IEEE80211_RATE_MCS;
ni->ni_txrate |= IEEE80211_RATE_MCS;
else if (v & IEEE80211_RATE_MCS)
db_printf(" %s MCS%d", tag, v &~ IEEE80211_RATE_MCS);
mword = ieee80211_rate2media(ic, index | IEEE80211_RATE_MCS, mode);
if ((mcs & IEEE80211_RATE_MCS) == 0) /* MCS always have 0x80 set */
if (si->isi_txrate & IEEE80211_RATE_MCS) {
&ieee80211_htrates[ni->ni_txrate &~ IEEE80211_RATE_MCS];
code |= IEEE80211_RATE_MCS;
#define IS_HT_RATE(_rc) ( (_rc) & IEEE80211_RATE_MCS)
KASSERT(rate & IEEE80211_RATE_MCS, ("not mcs %d", rate));
KASSERT((rate &~ IEEE80211_RATE_MCS) < 31, ("bad mcs 0x%x", rate));
#define N(r) (IEEE80211_RATE_MCS | r)
vap->iv_txparms[i].mgmtrate = 0 | IEEE80211_RATE_MCS;
vap->iv_txparms[i].mcastrate = 0 | IEEE80211_RATE_MCS;
#define ROAM_MCS_11N_DEFAULT (1 | IEEE80211_RATE_MCS) /* 11n bss */
#define ROAM_MCS_11N_DEFAULT (1 | IEEE80211_RATE_MCS) /* 11n bss */
if (ni->ni_txrate & IEEE80211_RATE_MCS)
#define TDMA_TXRATE_11NA_DEFAULT (4 | IEEE80211_RATE_MCS)
#define TDMA_TXRATE_11NG_DEFAULT (4 | IEEE80211_RATE_MCS)
if (rate & IEEE80211_RATE_MCS)
snprintf(b, bs, "MCS%u", rate &~ IEEE80211_RATE_MCS);
KASSERT(rate & IEEE80211_RATE_MCS, ("not mcs %d", rate));
KASSERT((rate &~ IEEE80211_RATE_MCS) < 16, ("bad mcs 0x%x", rate));