Page MenuHomeFreeBSD

D26539.diff
No OneTemporary

D26539.diff

Index: sys/dev/ath/if_ath_tx.c
===================================================================
--- sys/dev/ath/if_ath_tx.c
+++ sys/dev/ath/if_ath_tx.c
@@ -2598,7 +2598,6 @@
return 1;
}
-#define MS(_v, _f) (((_v) & _f) >> _f##_S)
/*
* Return an alternate TID for ADDBA request frames.
*
@@ -2637,11 +2636,10 @@
/* Extract TID, return it */
baparamset = le16toh(ia->rq_baparamset);
- *tid = (int) MS(baparamset, IEEE80211_BAPS_TID);
+ *tid = (int) _IEEE80211_MASKSHIFT(baparamset, IEEE80211_BAPS_TID);
return 1;
}
-#undef MS
/* Per-node software queue operations */
Index: sys/dev/ath/if_ath_tx_ht.c
===================================================================
--- sys/dev/ath/if_ath_tx_ht.c
+++ sys/dev/ath/if_ath_tx_ht.c
@@ -406,7 +406,6 @@
ath_compute_num_delims(struct ath_softc *sc, struct ath_buf *first_bf,
uint16_t pktlen, int is_first)
{
-#define MS(_v, _f) (((_v) & _f) >> _f##_S)
const HAL_RATE_TABLE *rt = sc->sc_currates;
struct ieee80211_node *ni = first_bf->bf_node;
struct ieee80211vap *vap = ni->ni_vap;
@@ -421,7 +420,7 @@
/*
* Get the advertised density from the node.
*/
- peer_mpdudensity = MS(ni->ni_htparam, IEEE80211_HTCAP_MPDUDENSITY);
+ peer_mpdudensity = _IEEE80211_MASKSHIFT(ni->ni_htparam, IEEE80211_HTCAP_MPDUDENSITY);
/*
* vap->iv_ampdu_density is a net80211 value, rather than the actual
@@ -528,7 +527,6 @@
__func__, pktlen, minlen, rix, rc, width, half_gi, ndelim);
return ndelim;
-#undef MS
}
/*
@@ -568,7 +566,6 @@
{
struct ieee80211vap *vap = ni->ni_vap;
-#define MS(_v, _f) (((_v) & _f) >> _f##_S)
int amin = ATH_AGGR_MAXSIZE;
int i;
@@ -583,7 +580,7 @@
* Check the HTCAP field for the maximum size the node has
* negotiated. If it's smaller than what we have, cap it there.
*/
- amin = MIN(amin, ath_rx_ampdu_to_byte(MS(ni->ni_htparam,
+ amin = MIN(amin, ath_rx_ampdu_to_byte(_IEEE80211_MASKSHIFT(ni->ni_htparam,
IEEE80211_HTCAP_MAXRXAMPDU)));
for (i = 0; i < ATH_RC_NUM; i++) {
@@ -598,11 +595,10 @@
__func__,
sc->sc_aggr_limit,
vap->iv_ampdu_limit,
- MS(ni->ni_htparam, IEEE80211_HTCAP_MAXRXAMPDU),
+ _IEEE80211_MASKSHIFT(ni->ni_htparam, IEEE80211_HTCAP_MAXRXAMPDU),
amin);
return amin;
-#undef MS
}
/*
Index: sys/dev/bwn/if_bwn.c
===================================================================
--- sys/dev/bwn/if_bwn.c
+++ sys/dev/bwn/if_bwn.c
@@ -2122,7 +2122,6 @@
static void
bwn_wme_clear(struct bwn_softc *sc)
{
-#define MS(_v, _f) (((_v) & _f) >> _f##_S)
struct wmeParams *p;
unsigned int i;
@@ -2137,29 +2136,29 @@
p->wmep_txopLimit = 0;
p->wmep_aifsn = 2;
/* XXX FIXME: log2(cwmin) */
- p->wmep_logcwmin = MS(0x0001, WME_PARAM_LOGCWMIN);
- p->wmep_logcwmax = MS(0x0001, WME_PARAM_LOGCWMAX);
+ p->wmep_logcwmin = _IEEE80211_MASKSHIFT(0x0001, WME_PARAM_LOGCWMIN);
+ p->wmep_logcwmax = _IEEE80211_MASKSHIFT(0x0001, WME_PARAM_LOGCWMAX);
break;
case BWN_WME_VIDEO:
p->wmep_txopLimit = 0;
p->wmep_aifsn = 2;
/* XXX FIXME: log2(cwmin) */
- p->wmep_logcwmin = MS(0x0001, WME_PARAM_LOGCWMIN);
- p->wmep_logcwmax = MS(0x0001, WME_PARAM_LOGCWMAX);
+ p->wmep_logcwmin = _IEEE80211_MASKSHIFT(0x0001, WME_PARAM_LOGCWMIN);
+ p->wmep_logcwmax = _IEEE80211_MASKSHIFT(0x0001, WME_PARAM_LOGCWMAX);
break;
case BWN_WME_BESTEFFORT:
p->wmep_txopLimit = 0;
p->wmep_aifsn = 3;
/* XXX FIXME: log2(cwmin) */
- p->wmep_logcwmin = MS(0x0001, WME_PARAM_LOGCWMIN);
- p->wmep_logcwmax = MS(0x03ff, WME_PARAM_LOGCWMAX);
+ p->wmep_logcwmin = _IEEE80211_MASKSHIFT(0x0001, WME_PARAM_LOGCWMIN);
+ p->wmep_logcwmax = _IEEE80211_MASKSHIFT(0x03ff, WME_PARAM_LOGCWMAX);
break;
case BWN_WME_BACKGROUND:
p->wmep_txopLimit = 0;
p->wmep_aifsn = 7;
/* XXX FIXME: log2(cwmin) */
- p->wmep_logcwmin = MS(0x0001, WME_PARAM_LOGCWMIN);
- p->wmep_logcwmax = MS(0x03ff, WME_PARAM_LOGCWMAX);
+ p->wmep_logcwmin = _IEEE80211_MASKSHIFT(0x0001, WME_PARAM_LOGCWMIN);
+ p->wmep_logcwmax = _IEEE80211_MASKSHIFT(0x03ff, WME_PARAM_LOGCWMAX);
break;
default:
KASSERT(0 == 1, ("%s:%d: fail", __func__, __LINE__));
@@ -4612,14 +4611,13 @@
bwn_wme_loadparams(struct bwn_mac *mac,
const struct wmeParams *p, uint16_t shm_offset)
{
-#define SM(_v, _f) (((_v) << _f##_S) & _f)
struct bwn_softc *sc = mac->mac_sc;
uint16_t params[BWN_NR_WMEPARAMS];
int slot, tmp;
unsigned int i;
slot = BWN_READ_2(mac, BWN_RNG) &
- SM(p->wmep_logcwmin, WME_PARAM_LOGCWMIN);
+ _IEEE80211_SHIFTMASK(p->wmep_logcwmin, WME_PARAM_LOGCWMIN);
memset(&params, 0, sizeof(params));
@@ -4628,9 +4626,9 @@
p->wmep_logcwmin, p->wmep_logcwmax, p->wmep_aifsn);
params[BWN_WMEPARAM_TXOP] = p->wmep_txopLimit * 32;
- params[BWN_WMEPARAM_CWMIN] = SM(p->wmep_logcwmin, WME_PARAM_LOGCWMIN);
- params[BWN_WMEPARAM_CWMAX] = SM(p->wmep_logcwmax, WME_PARAM_LOGCWMAX);
- params[BWN_WMEPARAM_CWCUR] = SM(p->wmep_logcwmin, WME_PARAM_LOGCWMIN);
+ params[BWN_WMEPARAM_CWMIN] = _IEEE80211_SHIFTMASK(p->wmep_logcwmin, WME_PARAM_LOGCWMIN);
+ params[BWN_WMEPARAM_CWMAX] = _IEEE80211_SHIFTMASK(p->wmep_logcwmax, WME_PARAM_LOGCWMAX);
+ params[BWN_WMEPARAM_CWCUR] = _IEEE80211_SHIFTMASK(p->wmep_logcwmin, WME_PARAM_LOGCWMIN);
params[BWN_WMEPARAM_AIFS] = p->wmep_aifsn;
params[BWN_WMEPARAM_BSLOTS] = slot;
params[BWN_WMEPARAM_REGGAP] = slot + p->wmep_aifsn;
Index: sys/dev/iwn/if_iwn.c
===================================================================
--- sys/dev/iwn/if_iwn.c
+++ sys/dev/iwn/if_iwn.c
@@ -7442,7 +7442,6 @@
iwn_ampdu_rx_start(struct ieee80211_node *ni, struct ieee80211_rx_ampdu *rap,
int baparamset, int batimeout, int baseqctl)
{
-#define MS(_v, _f) (((_v) & _f) >> _f##_S)
struct iwn_softc *sc = ni->ni_ic->ic_softc;
struct iwn_ops *ops = &sc->ops;
struct iwn_node *wn = (void *)ni;
@@ -7453,8 +7452,8 @@
DPRINTF(sc, IWN_DEBUG_TRACE, "->Doing %s\n", __func__);
- tid = MS(le16toh(baparamset), IEEE80211_BAPS_TID);
- ssn = MS(le16toh(baseqctl), IEEE80211_BASEQ_START);
+ tid = _IEEE80211_MASKSHIFT(le16toh(baparamset), IEEE80211_BAPS_TID);
+ ssn = _IEEE80211_MASKSHIFT(le16toh(baseqctl), IEEE80211_BASEQ_START);
if (wn->id == IWN_ID_UNDEFINED)
return (ENOENT);
@@ -7471,7 +7470,6 @@
if (error != 0)
return error;
return sc->sc_ampdu_rx_start(ni, rap, baparamset, batimeout, baseqctl);
-#undef MS
}
/*
Index: sys/dev/malo/if_malo.c
===================================================================
--- sys/dev/malo/if_malo.c
+++ sys/dev/malo/if_malo.c
@@ -918,10 +918,6 @@
return (fix_rate < nitems(rates) ? rates[fix_rate] : 0);
}
-/* idiomatic shorthands: MS = mask+shift, SM = shift+mask */
-#define MS(v,x) (((v) & x) >> x##_S)
-#define SM(v,x) (((v) << x##_S) & x)
-
/*
* Process completed xmit descriptors from the specified queue.
*/
@@ -962,7 +958,7 @@
status = le32toh(ds->status);
if (status & MALO_TXD_STATUS_OK) {
uint16_t format = le16toh(ds->format);
- uint8_t txant = MS(format, MALO_TXD_ANTENNA);
+ uint8_t txant = _IEEE80211_MASKSHIFT(format, MALO_TXD_ANTENNA);
sc->malo_stats.mst_ant_tx[txant]++;
if (status & MALO_TXD_STATUS_OK_RETRY)
Index: sys/dev/mwl/if_mwl.c
===================================================================
--- sys/dev/mwl/if_mwl.c
+++ sys/dev/mwl/if_mwl.c
@@ -83,10 +83,6 @@
#include <dev/mwl/if_mwlvar.h>
#include <dev/mwl/mwldiag.h>
-/* idiomatic shorthands: MS = mask+shift, SM = shift+mask */
-#define MS(v,x) (((v) & x) >> x##_S)
-#define SM(v,x) (((v) << x##_S) & x)
-
static struct ieee80211vap *mwl_vap_create(struct ieee80211com *,
const char [IFNAMSIZ], int, enum ieee80211_opmode, int,
const uint8_t [IEEE80211_ADDR_LEN],
@@ -1232,7 +1228,7 @@
vap->iv_opmode == IEEE80211_M_IBSS)) {
mwl_setapmode(vap, vap->iv_bss->ni_chan);
mwl_hal_setnprotmode(hvap,
- MS(ic->ic_curhtprotmode, IEEE80211_HTINFO_OPMODE));
+ _IEEE80211_MASKSHIFT(ic->ic_curhtprotmode, IEEE80211_HTINFO_OPMODE));
return mwl_beacon_setup(vap);
}
return 0;
@@ -1864,7 +1860,7 @@
break;
case IEEE80211_BEACON_HTINFO:
mwl_hal_setnprotmode(hvap,
- MS(ic->ic_curhtprotmode, IEEE80211_HTINFO_OPMODE));
+ _IEEE80211_MASKSHIFT(ic->ic_curhtprotmode, IEEE80211_HTINFO_OPMODE));
break;
case IEEE80211_BEACON_CAPS:
case IEEE80211_BEACON_WME:
@@ -3045,13 +3041,13 @@
{
uint16_t fmt;
- fmt = SM(3, EAGLE_TXD_ANTENNA)
+ fmt = _IEEE80211_SHIFTMASK(3, EAGLE_TXD_ANTENNA)
| (IEEE80211_IS_CHAN_HT40D(ni->ni_chan) ?
EAGLE_TXD_EXTCHAN_LO : EAGLE_TXD_EXTCHAN_HI);
if (rate & IEEE80211_RATE_MCS) { /* HT MCS */
fmt |= EAGLE_TXD_FORMAT_HT
/* NB: 0x80 implicitly stripped from ucastrate */
- | SM(rate, EAGLE_TXD_RATE);
+ | _IEEE80211_SHIFTMASK(rate, EAGLE_TXD_RATE);
/* XXX short/long GI may be wrong; re-check */
if (IEEE80211_IS_CHAN_HT40(ni->ni_chan)) {
fmt |= EAGLE_TXD_CHW_40
@@ -3064,7 +3060,7 @@
}
} else { /* legacy rate */
fmt |= EAGLE_TXD_FORMAT_LEGACY
- | SM(mwl_cvtlegacyrate(rate), EAGLE_TXD_RATE)
+ | _IEEE80211_SHIFTMASK(mwl_cvtlegacyrate(rate), EAGLE_TXD_RATE)
| EAGLE_TXD_CHW_20
/* XXX iv_flags & IEEE80211_F_SHPREAMBLE? */
| (ni->ni_capinfo & IEEE80211_CAPINFO_SHORT_PREAMBLE ?
@@ -3365,7 +3361,7 @@
status = le32toh(ds->Status);
if (status & EAGLE_TXD_STATUS_OK) {
uint16_t Format = le16toh(ds->Format);
- uint8_t txant = MS(Format, EAGLE_TXD_ANTENNA);
+ uint8_t txant = _IEEE80211_MASKSHIFT(Format, EAGLE_TXD_ANTENNA);
sc->sc_stats.mst_ant_tx[txant]++;
if (status & EAGLE_TXD_STATUS_OK_RETRY)
@@ -3374,7 +3370,7 @@
sc->sc_stats.mst_tx_mretries++;
if (txq->qnum >= MWL_WME_AC_VO)
ic->ic_wme.wme_hipri_traffic++;
- ni->ni_txrate = MS(Format, EAGLE_TXD_RATE);
+ ni->ni_txrate = _IEEE80211_MASKSHIFT(Format, EAGLE_TXD_RATE);
if ((Format & EAGLE_TXD_FORMAT_HT) == 0) {
ni->ni_txrate = mwl_cvtlegacyrix(
ni->ni_txrate);
@@ -3557,7 +3553,7 @@
mwl_hal_setmimops(sc->sc_mh, ni->ni_macaddr,
mps->am_control & IEEE80211_A_HT_MIMOPWRSAVE_ENA,
- MS(mps->am_control, IEEE80211_A_HT_MIMOPWRSAVE_MODE));
+ _IEEE80211_MASKSHIFT(mps->am_control, IEEE80211_A_HT_MIMOPWRSAVE_MODE));
return 0;
} else
return sc->sc_recv_action(ni, wh, frm, efrm);
@@ -3660,7 +3656,7 @@
* we know resources are available because we
* pre-allocated one before forming the request.
*/
- bufsiz = MS(baparamset, IEEE80211_BAPS_BUFSIZ);
+ bufsiz = _IEEE80211_MASKSHIFT(baparamset, IEEE80211_BAPS_BUFSIZ);
if (bufsiz == 0)
bufsiz = IEEE80211_AGGR_BAWMAX;
error = mwl_hal_bastream_create(MWL_VAP(vap)->mv_hvap,
Index: sys/net80211/ieee80211_freebsd.c
===================================================================
--- sys/net80211/ieee80211_freebsd.c
+++ sys/net80211/ieee80211_freebsd.c
@@ -319,7 +319,6 @@
}
}
-#define MS(_v, _f) (((_v) & _f##_M) >> _f##_S)
int
ieee80211_com_vincref(struct ieee80211vap *vap)
{
@@ -332,7 +331,7 @@
return (ENETDOWN);
}
- if (MS(ostate, IEEE80211_COM_REF) == IEEE80211_COM_REF_MAX) {
+ if (_IEEE80211_MASKSHIFT(ostate, IEEE80211_COM_REF) == IEEE80211_COM_REF_MAX) {
atomic_subtract_32(&vap->iv_com_state, IEEE80211_COM_REF_ADD);
return (EOVERFLOW);
}
@@ -347,7 +346,7 @@
ostate = atomic_fetchadd_32(&vap->iv_com_state, -IEEE80211_COM_REF_ADD);
- KASSERT(MS(ostate, IEEE80211_COM_REF) != 0,
+ KASSERT(_IEEE80211_MASKSHIFT(ostate, IEEE80211_COM_REF) != 0,
("com reference counter underflow"));
(void) ostate;
@@ -360,10 +359,9 @@
sleep_time = msecs_to_ticks(250);
atomic_set_32(&vap->iv_com_state, IEEE80211_COM_DETACHED);
- while (MS(atomic_load_32(&vap->iv_com_state), IEEE80211_COM_REF) != 0)
+ while (_IEEE80211_MASKSHIFT(atomic_load_32(&vap->iv_com_state), IEEE80211_COM_REF) != 0)
pause("comref", sleep_time);
}
-#undef MS
int
ieee80211_node_dectestref(struct ieee80211_node *ni)
Index: sys/net80211/ieee80211_ht.c
===================================================================
--- sys/net80211/ieee80211_ht.c
+++ sys/net80211/ieee80211_ht.c
@@ -54,10 +54,6 @@
#include <net80211/ieee80211_action.h>
#include <net80211/ieee80211_input.h>
-/* define here, used throughout file */
-#define MS(_v, _f) (((_v) & _f) >> _f##_S)
-#define SM(_v, _f) (((_v) << _f##_S) & _f)
-
const struct ieee80211_mcs_rates ieee80211_htrates[IEEE80211_HTRATE_MAXSIZE] = {
{ 13, 14, 27, 30 }, /* MCS 0 */
{ 26, 29, 54, 60 }, /* MCS 1 */
@@ -703,7 +699,7 @@
int baparamset, int batimeout, int baseqctl)
{
struct ieee80211vap *vap = ni->ni_vap;
- int bufsiz = MS(baparamset, IEEE80211_BAPS_BUFSIZ);
+ int bufsiz = _IEEE80211_MASKSHIFT(baparamset, IEEE80211_BAPS_BUFSIZ);
if (rap->rxa_flags & IEEE80211_AGGR_RUNNING) {
/*
@@ -715,12 +711,12 @@
ieee80211_ampdu_rx_init_rap(ni, rap);
rap->rxa_wnd = (bufsiz == 0) ?
IEEE80211_AGGR_BAWMAX : min(bufsiz, IEEE80211_AGGR_BAWMAX);
- rap->rxa_start = MS(baseqctl, IEEE80211_BASEQ_START);
+ rap->rxa_start = _IEEE80211_MASKSHIFT(baseqctl, IEEE80211_BASEQ_START);
rap->rxa_flags |= IEEE80211_AGGR_RUNNING | IEEE80211_AGGR_XCHGPEND;
/* XXX this should be a configuration flag */
if ((vap->iv_htcaps & IEEE80211_HTC_RX_AMSDU_AMPDU) &&
- (MS(baparamset, IEEE80211_BAPS_AMSDU)))
+ (_IEEE80211_MASKSHIFT(baparamset, IEEE80211_BAPS_AMSDU)))
rap->rxa_flags |= IEEE80211_AGGR_AMSDU;
else
rap->rxa_flags &= ~IEEE80211_AGGR_AMSDU;
@@ -1247,7 +1243,7 @@
}
wh = mtod(m0, struct ieee80211_frame_bar *);
/* XXX check basic BAR */
- tid = MS(le16toh(wh->i_ctl), IEEE80211_BAR_TID);
+ tid = _IEEE80211_MASKSHIFT(le16toh(wh->i_ctl), IEEE80211_BAR_TID);
rap = &ni->ni_rx_ampdu[tid];
if ((rap->rxa_flags & IEEE80211_AGGR_XCHGPEND) == 0) {
/*
@@ -1627,7 +1623,7 @@
ieee80211_htprot_update(struct ieee80211vap *vap, int protmode)
{
struct ieee80211com *ic = vap->iv_ic;
-#define OPMODE(x) SM(x, IEEE80211_HTINFO_OPMODE)
+#define OPMODE(x) _IEEE80211_SHIFTMASK(x, IEEE80211_HTINFO_OPMODE)
IEEE80211_LOCK(ic);
/* track non-HT station presence */
@@ -1699,11 +1695,11 @@
uint16_t w;
ni->ni_htctlchan = htinfo->hi_ctrlchannel;
- ni->ni_ht2ndchan = SM(htinfo->hi_byte1, IEEE80211_HTINFO_2NDCHAN);
+ ni->ni_ht2ndchan = _IEEE80211_SHIFTMASK(htinfo->hi_byte1, IEEE80211_HTINFO_2NDCHAN);
w = le16dec(&htinfo->hi_byte2);
- ni->ni_htopmode = SM(w, IEEE80211_HTINFO_OPMODE);
+ ni->ni_htopmode = _IEEE80211_SHIFTMASK(w, IEEE80211_HTINFO_OPMODE);
w = le16dec(&htinfo->hi_byte45);
- ni->ni_htstbc = SM(w, IEEE80211_HTINFO_BASIC_STBCMCS);
+ ni->ni_htstbc = _IEEE80211_SHIFTMASK(w, IEEE80211_HTINFO_BASIC_STBCMCS);
}
/*
@@ -1942,7 +1938,7 @@
if (ni->ni_flags & IEEE80211_NODE_VHT && vap->iv_flags_vht & IEEE80211_FVHT_VHT) {
if ((ni->ni_vht_chanwidth == IEEE80211_VHT_CHANWIDTH_160MHZ) &&
/* XXX 2 means "160MHz and 80+80MHz", 1 means "160MHz" */
- (MS(vap->iv_vhtcaps,
+ (_IEEE80211_MASKSHIFT(vap->iv_vhtcaps,
IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_MASK) >= 1) &&
(vap->iv_flags_vht & IEEE80211_FVHT_USEVHT160)) {
vhtflags = IEEE80211_CHAN_VHT160;
@@ -1954,7 +1950,7 @@
}
} else if ((ni->ni_vht_chanwidth == IEEE80211_VHT_CHANWIDTH_80P80MHZ) &&
/* XXX 2 means "160MHz and 80+80MHz" */
- (MS(vap->iv_vhtcaps,
+ (_IEEE80211_MASKSHIFT(vap->iv_vhtcaps,
IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_MASK) == 2) &&
(vap->iv_flags_vht & IEEE80211_FVHT_USEVHT80P80)) {
vhtflags = IEEE80211_CHAN_VHT80P80;
@@ -2287,7 +2283,7 @@
/* XXX locking */
tap->txa_token = dialogtoken;
tap->txa_flags |= IEEE80211_AGGR_IMMEDIATE;
- bufsiz = MS(baparamset, IEEE80211_BAPS_BUFSIZ);
+ bufsiz = _IEEE80211_MASKSHIFT(baparamset, IEEE80211_BAPS_BUFSIZ);
tap->txa_wnd = (bufsiz == 0) ?
IEEE80211_AGGR_BAWMAX : min(bufsiz, IEEE80211_AGGR_BAWMAX);
addba_start_timeout(tap);
@@ -2359,17 +2355,17 @@
/* XXX locking */
addba_stop_timeout(tap);
if (status == IEEE80211_STATUS_SUCCESS) {
- bufsiz = MS(baparamset, IEEE80211_BAPS_BUFSIZ);
+ bufsiz = _IEEE80211_MASKSHIFT(baparamset, IEEE80211_BAPS_BUFSIZ);
/* XXX override our request? */
tap->txa_wnd = (bufsiz == 0) ?
IEEE80211_AGGR_BAWMAX : min(bufsiz, IEEE80211_AGGR_BAWMAX);
- tid = MS(baparamset, IEEE80211_BAPS_TID);
+ tid = _IEEE80211_MASKSHIFT(baparamset, IEEE80211_BAPS_TID);
tap->txa_flags |= IEEE80211_AGGR_RUNNING;
tap->txa_attempts = 0;
/* TODO: this should be a vap flag */
if ((vap->iv_htcaps & IEEE80211_HTC_TX_AMSDU_AMPDU) &&
(ni->ni_flags & IEEE80211_NODE_AMSDU_TX) &&
- (MS(baparamset, IEEE80211_BAPS_AMSDU)))
+ (_IEEE80211_MASKSHIFT(baparamset, IEEE80211_BAPS_AMSDU)))
tap->txa_flags |= IEEE80211_AGGR_AMSDU;
else
tap->txa_flags &= ~IEEE80211_AGGR_AMSDU;
@@ -2420,17 +2416,17 @@
batimeout = le16dec(frm+5);
baseqctl = le16dec(frm+7);
- tid = MS(baparamset, IEEE80211_BAPS_TID);
+ tid = _IEEE80211_MASKSHIFT(baparamset, IEEE80211_BAPS_TID);
IEEE80211_NOTE(vap, IEEE80211_MSG_ACTION | IEEE80211_MSG_11N, ni,
"recv ADDBA request: dialogtoken %u baparamset 0x%x "
"(tid %d bufsiz %d) batimeout %d baseqctl %d:%d amsdu %d",
dialogtoken, baparamset,
- tid, MS(baparamset, IEEE80211_BAPS_BUFSIZ),
+ tid, _IEEE80211_MASKSHIFT(baparamset, IEEE80211_BAPS_BUFSIZ),
batimeout,
- MS(baseqctl, IEEE80211_BASEQ_START),
- MS(baseqctl, IEEE80211_BASEQ_FRAG),
- MS(baparamset, IEEE80211_BAPS_AMSDU));
+ _IEEE80211_MASKSHIFT(baseqctl, IEEE80211_BASEQ_START),
+ _IEEE80211_MASKSHIFT(baseqctl, IEEE80211_BASEQ_FRAG),
+ _IEEE80211_MASKSHIFT(baparamset, IEEE80211_BAPS_AMSDU));
rap = &ni->ni_rx_ampdu[tid];
@@ -2459,8 +2455,8 @@
}
/* XXX honor rap flags? */
args[2] = IEEE80211_BAPS_POLICY_IMMEDIATE
- | SM(tid, IEEE80211_BAPS_TID)
- | SM(rap->rxa_wnd, IEEE80211_BAPS_BUFSIZ)
+ | _IEEE80211_SHIFTMASK(tid, IEEE80211_BAPS_TID)
+ | _IEEE80211_SHIFTMASK(rap->rxa_wnd, IEEE80211_BAPS_BUFSIZ)
;
/*
@@ -2495,10 +2491,10 @@
dialogtoken = frm[2];
code = le16dec(frm+3);
baparamset = le16dec(frm+5);
- tid = MS(baparamset, IEEE80211_BAPS_TID);
- bufsiz = MS(baparamset, IEEE80211_BAPS_BUFSIZ);
- policy = MS(baparamset, IEEE80211_BAPS_POLICY);
- amsdu = !! MS(baparamset, IEEE80211_BAPS_AMSDU);
+ tid = _IEEE80211_MASKSHIFT(baparamset, IEEE80211_BAPS_TID);
+ bufsiz = _IEEE80211_MASKSHIFT(baparamset, IEEE80211_BAPS_BUFSIZ);
+ policy = _IEEE80211_MASKSHIFT(baparamset, IEEE80211_BAPS_POLICY);
+ amsdu = !! _IEEE80211_MASKSHIFT(baparamset, IEEE80211_BAPS_AMSDU);
batimeout = le16dec(frm+7);
tap = &ni->ni_tx_ampdu[tid];
@@ -2572,12 +2568,12 @@
baparamset = le16dec(frm+2);
code = le16dec(frm+4);
- tid = MS(baparamset, IEEE80211_DELBAPS_TID);
+ tid = _IEEE80211_MASKSHIFT(baparamset, IEEE80211_DELBAPS_TID);
IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_ACTION | IEEE80211_MSG_11N, ni,
"recv DELBA: baparamset 0x%x (tid %d initiator %d) "
"code %d", baparamset, tid,
- MS(baparamset, IEEE80211_DELBAPS_INIT), code);
+ _IEEE80211_MASKSHIFT(baparamset, IEEE80211_DELBAPS_INIT), code);
if ((baparamset & IEEE80211_DELBAPS_INIT) == 0) {
tap = &ni->ni_tx_ampdu[tid];
@@ -2706,8 +2702,8 @@
args[0] = dialogtoken;
args[1] = 0; /* NB: status code not used */
args[2] = IEEE80211_BAPS_POLICY_IMMEDIATE
- | SM(tid, IEEE80211_BAPS_TID)
- | SM(IEEE80211_AGGR_BAWMAX, IEEE80211_BAPS_BUFSIZ)
+ | _IEEE80211_SHIFTMASK(tid, IEEE80211_BAPS_TID)
+ | _IEEE80211_SHIFTMASK(IEEE80211_AGGR_BAWMAX, IEEE80211_BAPS_BUFSIZ)
;
/* XXX TODO: this should be a flag, not iv_htcaps */
@@ -2731,8 +2727,8 @@
}
tokens = dialogtoken; /* allocate token */
/* NB: after calling ic_addba_request so driver can set txa_start */
- args[4] = SM(tap->txa_start, IEEE80211_BASEQ_START)
- | SM(0, IEEE80211_BASEQ_FRAG)
+ args[4] = _IEEE80211_SHIFTMASK(tap->txa_start, IEEE80211_BASEQ_START)
+ | _IEEE80211_SHIFTMASK(0, IEEE80211_BASEQ_FRAG)
;
return ic->ic_send_action(ni, IEEE80211_ACTION_CAT_BA,
IEEE80211_ACTION_BA_ADDBA_REQUEST, args);
@@ -2951,9 +2947,9 @@
barctl = (tap->txa_flags & IEEE80211_AGGR_IMMEDIATE ?
0 : IEEE80211_BAR_NOACK)
| IEEE80211_BAR_COMP
- | SM(tid, IEEE80211_BAR_TID)
+ | _IEEE80211_SHIFTMASK(tid, IEEE80211_BAR_TID)
;
- barseqctl = SM(seq, IEEE80211_BAR_SEQ_START);
+ barseqctl = _IEEE80211_SHIFTMASK(seq, IEEE80211_BAR_SEQ_START);
/* NB: known to have proper alignment */
bar->i_ctl = htole16(barctl);
bar->i_seq = htole16(barseqctl);
@@ -3048,8 +3044,8 @@
"baparamset 0x%x (tid %d amsdu %d) batimeout 0x%x baseqctl 0x%x",
(action == IEEE80211_ACTION_BA_ADDBA_REQUEST) ?
"request" : "response",
- args[0], args[1], args[2], MS(args[2], IEEE80211_BAPS_TID),
- MS(args[2], IEEE80211_BAPS_AMSDU), args[3], args[4]);
+ args[0], args[1], args[2], _IEEE80211_MASKSHIFT(args[2], IEEE80211_BAPS_TID),
+ _IEEE80211_MASKSHIFT(args[2], IEEE80211_BAPS_AMSDU), args[3], args[4]);
IEEE80211_DPRINTF(vap, IEEE80211_MSG_NODE,
"ieee80211_ref_node (%s:%u) %p<%s> refcnt %d\n", __func__, __LINE__,
@@ -3092,7 +3088,7 @@
uint16_t baparamset;
uint8_t *frm;
- baparamset = SM(args[0], IEEE80211_DELBAPS_TID)
+ baparamset = _IEEE80211_SHIFTMASK(args[0], IEEE80211_DELBAPS_TID)
| args[1]
;
IEEE80211_NOTE(vap, IEEE80211_MSG_ACTION | IEEE80211_MSG_11N, ni,
@@ -3244,8 +3240,8 @@
caps &= ~IEEE80211_HTCAP_CHWIDTH40;
/* Start by using the advertised settings */
- rxmax = MS(ni->ni_htparam, IEEE80211_HTCAP_MAXRXAMPDU);
- density = MS(ni->ni_htparam, IEEE80211_HTCAP_MPDUDENSITY);
+ rxmax = _IEEE80211_MASKSHIFT(ni->ni_htparam, IEEE80211_HTCAP_MAXRXAMPDU);
+ density = _IEEE80211_MASKSHIFT(ni->ni_htparam, IEEE80211_HTCAP_MPDUDENSITY);
IEEE80211_DPRINTF(vap, IEEE80211_MSG_11N,
"%s: advertised rxmax=%d, density=%d, vap rxmax=%d, density=%d\n",
@@ -3308,8 +3304,8 @@
ADDSHORT(frm, caps);
/* HT parameters */
- *frm = SM(rxmax, IEEE80211_HTCAP_MAXRXAMPDU)
- | SM(density, IEEE80211_HTCAP_MPDUDENSITY)
+ *frm = _IEEE80211_SHIFTMASK(rxmax, IEEE80211_HTCAP_MAXRXAMPDU)
+ | _IEEE80211_SHIFTMASK(density, IEEE80211_HTCAP_MPDUDENSITY)
;
frm++;
@@ -3397,8 +3393,8 @@
ADDSHORT(frm, caps);
/* HT parameters */
- *frm = SM(rxmax, IEEE80211_HTCAP_MAXRXAMPDU)
- | SM(density, IEEE80211_HTCAP_MPDUDENSITY)
+ *frm = _IEEE80211_SHIFTMASK(rxmax, IEEE80211_HTCAP_MAXRXAMPDU)
+ | _IEEE80211_SHIFTMASK(density, IEEE80211_HTCAP_MPDUDENSITY)
;
frm++;
Index: sys/net80211/ieee80211_ioctl.c
===================================================================
--- sys/net80211/ieee80211_ioctl.c
+++ sys/net80211/ieee80211_ioctl.c
@@ -777,7 +777,6 @@
ieee80211_ioctl_get80211(struct ieee80211vap *vap, u_long cmd,
struct ieee80211req *ireq)
{
-#define MS(_v, _f) (((_v) & _f) >> _f##_S)
struct ieee80211com *ic = vap->iv_ic;
u_int kid, len;
uint8_t tmpkey[IEEE80211_KEYBUF_SIZE];
@@ -1035,7 +1034,7 @@
* XXX TODO: this isn't completely correct, as we've
* negotiated the higher of the two.
*/
- ireq->i_val = MS(vap->iv_bss->ni_htparam,
+ ireq->i_val = _IEEE80211_MASKSHIFT(vap->iv_bss->ni_htparam,
IEEE80211_HTCAP_MAXRXAMPDU);
else
ireq->i_val = vap->iv_ampdu_limit;
@@ -1048,7 +1047,7 @@
* XXX TODO: this isn't completely correct, as we've
* negotiated the higher of the two.
*/
- ireq->i_val = MS(vap->iv_bss->ni_htparam,
+ ireq->i_val = _IEEE80211_MASKSHIFT(vap->iv_bss->ni_htparam,
IEEE80211_HTCAP_MPDUDENSITY);
else
ireq->i_val = vap->iv_ampdu_density;
@@ -1167,7 +1166,6 @@
break;
}
return error;
-#undef MS
}
static int
Index: sys/net80211/ieee80211_output.c
===================================================================
--- sys/net80211/ieee80211_output.c
+++ sys/net80211/ieee80211_output.c
@@ -2215,7 +2215,6 @@
ieee80211_add_wme_param(uint8_t *frm, struct ieee80211_wme_state *wme,
int uapsd_enable)
{
-#define SM(_v, _f) (((_v) << _f##_S) & _f)
#define ADDSHORT(frm, v) do { \
le16enc(frm, v); \
frm += 2; \
@@ -2242,17 +2241,16 @@
for (i = 0; i < WME_NUM_AC; i++) {
const struct wmeParams *ac =
&wme->wme_bssChanParams.cap_wmeParams[i];
- *frm++ = SM(i, WME_PARAM_ACI)
- | SM(ac->wmep_acm, WME_PARAM_ACM)
- | SM(ac->wmep_aifsn, WME_PARAM_AIFSN)
+ *frm++ = _IEEE80211_SHIFTMASK(i, WME_PARAM_ACI)
+ | _IEEE80211_SHIFTMASK(ac->wmep_acm, WME_PARAM_ACM)
+ | _IEEE80211_SHIFTMASK(ac->wmep_aifsn, WME_PARAM_AIFSN)
;
- *frm++ = SM(ac->wmep_logcwmax, WME_PARAM_LOGCWMAX)
- | SM(ac->wmep_logcwmin, WME_PARAM_LOGCWMIN)
+ *frm++ = _IEEE80211_SHIFTMASK(ac->wmep_logcwmax, WME_PARAM_LOGCWMAX)
+ | _IEEE80211_SHIFTMASK(ac->wmep_logcwmin, WME_PARAM_LOGCWMIN)
;
ADDSHORT(frm, ac->wmep_txopLimit);
}
return frm;
-#undef SM
#undef ADDSHORT
}
#undef WME_OUI_BYTES
Index: sys/net80211/ieee80211_regdomain.c
===================================================================
--- sys/net80211/ieee80211_regdomain.c
+++ sys/net80211/ieee80211_regdomain.c
@@ -151,12 +151,10 @@
if (isset(bands, IEEE80211_MODE_VHT_5GHZ)) {
cbw_flags |= NET80211_CBW_FLAG_HT40; /* Make sure this is set; or assert? */
cbw_flags |= NET80211_CBW_FLAG_VHT80;
-#define MS(_v, _f) (((_v) & _f) >> _f##_S)
- if (MS(ic->ic_vhtcaps, IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_MASK) >= 1)
+ if (_IEEE80211_MASKSHIFT(ic->ic_vhtcaps, IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_MASK) >= 1)
cbw_flags |= NET80211_CBW_FLAG_VHT160;
- if (MS(ic->ic_vhtcaps, IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_MASK) == 2)
+ if (_IEEE80211_MASKSHIFT(ic->ic_vhtcaps, IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_MASK) == 2)
cbw_flags |= NET80211_CBW_FLAG_VHT80P80;
-#undef MS
ieee80211_add_channel_list_5ghz(chans, IEEE80211_CHAN_MAX,
nchans, def_chan_5ghz_band1, nitems(def_chan_5ghz_band1),
bands, cbw_flags);
Index: sys/net80211/ieee80211_sta.c
===================================================================
--- sys/net80211/ieee80211_sta.c
+++ sys/net80211/ieee80211_sta.c
@@ -1161,7 +1161,6 @@
ieee80211_parse_wmeparams(struct ieee80211vap *vap, uint8_t *frm,
const struct ieee80211_frame *wh, uint8_t *qosinfo)
{
-#define MS(_v, _f) (((_v) & _f) >> _f##_S)
struct ieee80211_wme_state *wme = &vap->iv_ic->ic_wme;
u_int len = frm[1], qosinfo_count;
int i;
@@ -1185,10 +1184,10 @@
struct wmeParams *wmep =
&wme->wme_wmeChanParams.cap_wmeParams[i];
/* NB: ACI not used */
- wmep->wmep_acm = MS(frm[0], WME_PARAM_ACM);
- wmep->wmep_aifsn = MS(frm[0], WME_PARAM_AIFSN);
- wmep->wmep_logcwmin = MS(frm[1], WME_PARAM_LOGCWMIN);
- wmep->wmep_logcwmax = MS(frm[1], WME_PARAM_LOGCWMAX);
+ wmep->wmep_acm = _IEEE80211_MASKSHIFT(frm[0], WME_PARAM_ACM);
+ wmep->wmep_aifsn = _IEEE80211_MASKSHIFT(frm[0], WME_PARAM_AIFSN);
+ wmep->wmep_logcwmin = _IEEE80211_MASKSHIFT(frm[1], WME_PARAM_LOGCWMIN);
+ wmep->wmep_logcwmax = _IEEE80211_MASKSHIFT(frm[1], WME_PARAM_LOGCWMAX);
wmep->wmep_txopLimit = le16dec(frm+2);
IEEE80211_DPRINTF(vap, IEEE80211_MSG_WME,
"%s: WME: %d: acm=%d aifsn=%d logcwmin=%d logcwmax=%d txopLimit=%d\n",
@@ -1203,7 +1202,6 @@
}
wme->wme_wmeChanParams.cap_info = qosinfo_count;
return 1;
-#undef MS
}
/*
Index: sys/net80211/ieee80211_superg.c
===================================================================
--- sys/net80211/ieee80211_superg.c
+++ sys/net80211/ieee80211_superg.c
@@ -273,7 +273,6 @@
ieee80211_ff_decap(struct ieee80211_node *ni, struct mbuf *m)
{
#define FF_LLC_SIZE (sizeof(struct ether_header) + sizeof(struct llc))
-#define MS(x,f) (((x) & f) >> f##_S)
struct ieee80211vap *vap = ni->ni_vap;
struct llc *llc;
uint32_t ath;
@@ -302,7 +301,7 @@
return m;
m_adj(m, FF_LLC_SIZE);
m_copydata(m, 0, sizeof(uint32_t), (caddr_t) &ath);
- if (MS(ath, ATH_FF_PROTO) != ATH_FF_PROTO_L2TUNNEL) {
+ if (_IEEE80211_MASKSHIFT(ath, ATH_FF_PROTO) != ATH_FF_PROTO_L2TUNNEL) {
IEEE80211_DISCARD_MAC(vap, IEEE80211_MSG_ANY,
ni->ni_macaddr, "fast-frame",
"unsupport tunnel protocol, header 0x%x", ath);
@@ -351,7 +350,6 @@
}
/* XXX verify framelen against mbuf contents */
return n; /* 2nd delivered by caller */
-#undef MS
#undef FF_LLC_SIZE
}
Index: sys/net80211/ieee80211_var.h
===================================================================
--- sys/net80211/ieee80211_var.h
+++ sys/net80211/ieee80211_var.h
@@ -735,9 +735,9 @@
#define IEEE80211_COM_DETACHED 0x00000001 /* ieee80211_ifdetach called */
#define IEEE80211_COM_REF_ADD 0x00000002 /* add / remove reference */
-#define IEEE80211_COM_REF_M 0xfffffffe /* reference counter bits */
+#define IEEE80211_COM_REF 0xfffffffe /* reference counter bits */
#define IEEE80211_COM_REF_S 1
-#define IEEE80211_COM_REF_MAX (IEEE80211_COM_REF_M >> IEEE80211_COM_REF_S)
+#define IEEE80211_COM_REF_MAX (IEEE80211_COM_REF >> IEEE80211_COM_REF_S)
int ic_printf(struct ieee80211com *, const char *, ...) __printflike(2, 3);
void ieee80211_ifattach(struct ieee80211com *);
@@ -1013,6 +1013,10 @@
"\23POWER\24STATE\25OUTPUT\26SCAN\27AUTH\30ASSOC\31NODE\32ELEMID" \
"\33XRATE\34INPUT\35CRYPTO\36DUPMPKTS\37DEBUG\04011N"
+/* Helper macros unified. */
+#define _IEEE80211_MASKSHIFT(_v, _f) (((_v) & _f) >> _f##_S)
+#define _IEEE80211_SHIFTMASK(_v, _f) (((_v) << _f##_S) & _f)
+
#ifdef IEEE80211_DEBUG
#define ieee80211_msg(_vap, _m) ((_vap)->iv_debug & (_m))
#define IEEE80211_DPRINTF(_vap, _m, _fmt, ...) do { \
Index: sys/net80211/ieee80211_vht.c
===================================================================
--- sys/net80211/ieee80211_vht.c
+++ sys/net80211/ieee80211_vht.c
@@ -53,10 +53,6 @@
#include <net80211/ieee80211_input.h>
#include <net80211/ieee80211_vht.h>
-/* define here, used throughout file */
-#define MS(_v, _f) (((_v) & _f) >> _f##_S)
-#define SM(_v, _f) (((_v) << _f##_S) & _f)
-
#define ADDSHORT(frm, v) do { \
frm[0] = (v) & 0xff; \
frm[1] = (v) >> 8; \
@@ -207,9 +203,9 @@
/* Channel width */
ic_printf(ic, "[VHT] Channel Widths: 20MHz, 40MHz, 80MHz");
- if (MS(ic->ic_vhtcaps, IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_MASK) >= 1)
+ if (_IEEE80211_MASKSHIFT(ic->ic_vhtcaps, IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_MASK) >= 1)
printf(" 160MHz");
- if (MS(ic->ic_vhtcaps, IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_MASK) == 2)
+ if (_IEEE80211_MASKSHIFT(ic->ic_vhtcaps, IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_MASK) == 2)
printf(" 80+80MHz");
printf("\n");
@@ -376,18 +372,18 @@
*/
/* Limit MPDU size to the smaller of the two */
- val2 = val1 = MS(vap->iv_vhtcaps, IEEE80211_VHTCAP_MAX_MPDU_MASK);
+ val2 = val1 = _IEEE80211_MASKSHIFT(vap->iv_vhtcaps, IEEE80211_VHTCAP_MAX_MPDU_MASK);
if (opmode == 1) {
- val2 = MS(ni->ni_vhtcap, IEEE80211_VHTCAP_MAX_MPDU_MASK);
+ val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, IEEE80211_VHTCAP_MAX_MPDU_MASK);
}
val = MIN(val1, val2);
- new_vhtcap |= SM(val, IEEE80211_VHTCAP_MAX_MPDU_MASK);
+ new_vhtcap |= _IEEE80211_SHIFTMASK(val, IEEE80211_VHTCAP_MAX_MPDU_MASK);
/* Limit supp channel config */
- val2 = val1 = MS(vap->iv_vhtcaps,
+ val2 = val1 = _IEEE80211_MASKSHIFT(vap->iv_vhtcaps,
IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_MASK);
if (opmode == 1) {
- val2 = MS(ni->ni_vhtcap,
+ val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap,
IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_MASK);
}
if ((val2 == 2) &&
@@ -397,31 +393,31 @@
((vap->iv_flags_vht & IEEE80211_FVHT_USEVHT160) == 0))
val2 = 0;
val = MIN(val1, val2);
- new_vhtcap |= SM(val, IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_MASK);
+ new_vhtcap |= _IEEE80211_SHIFTMASK(val, IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_MASK);
/* RX LDPC */
- val2 = val1 = MS(vap->iv_vhtcaps, IEEE80211_VHTCAP_RXLDPC);
+ val2 = val1 = _IEEE80211_MASKSHIFT(vap->iv_vhtcaps, IEEE80211_VHTCAP_RXLDPC);
if (opmode == 1) {
- val2 = MS(ni->ni_vhtcap, IEEE80211_VHTCAP_RXLDPC);
+ val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, IEEE80211_VHTCAP_RXLDPC);
}
val = MIN(val1, val2);
- new_vhtcap |= SM(val, IEEE80211_VHTCAP_RXLDPC);
+ new_vhtcap |= _IEEE80211_SHIFTMASK(val, IEEE80211_VHTCAP_RXLDPC);
/* Short-GI 80 */
- val2 = val1 = MS(vap->iv_vhtcaps, IEEE80211_VHTCAP_SHORT_GI_80);
+ val2 = val1 = _IEEE80211_MASKSHIFT(vap->iv_vhtcaps, IEEE80211_VHTCAP_SHORT_GI_80);
if (opmode == 1) {
- val2 = MS(ni->ni_vhtcap, IEEE80211_VHTCAP_SHORT_GI_80);
+ val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, IEEE80211_VHTCAP_SHORT_GI_80);
}
val = MIN(val1, val2);
- new_vhtcap |= SM(val, IEEE80211_VHTCAP_SHORT_GI_80);
+ new_vhtcap |= _IEEE80211_SHIFTMASK(val, IEEE80211_VHTCAP_SHORT_GI_80);
/* Short-GI 160 */
- val2 = val1 = MS(vap->iv_vhtcaps, IEEE80211_VHTCAP_SHORT_GI_160);
+ val2 = val1 = _IEEE80211_MASKSHIFT(vap->iv_vhtcaps, IEEE80211_VHTCAP_SHORT_GI_160);
if (opmode == 1) {
- val2 = MS(ni->ni_vhtcap, IEEE80211_VHTCAP_SHORT_GI_160);
+ val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, IEEE80211_VHTCAP_SHORT_GI_160);
}
val = MIN(val1, val2);
- new_vhtcap |= SM(val, IEEE80211_VHTCAP_SHORT_GI_160);
+ new_vhtcap |= _IEEE80211_SHIFTMASK(val, IEEE80211_VHTCAP_SHORT_GI_160);
/*
* STBC is slightly more complicated.
@@ -439,28 +435,28 @@
*/
/* TX STBC */
- val2 = val1 = MS(vap->iv_vhtcaps, IEEE80211_VHTCAP_TXSTBC);
+ val2 = val1 = _IEEE80211_MASKSHIFT(vap->iv_vhtcaps, IEEE80211_VHTCAP_TXSTBC);
if (opmode == 1) {
/* STA mode - enable it only if node RXSTBC is non-zero */
- val2 = !! MS(ni->ni_vhtcap, IEEE80211_VHTCAP_RXSTBC_MASK);
+ val2 = !! _IEEE80211_MASKSHIFT(ni->ni_vhtcap, IEEE80211_VHTCAP_RXSTBC_MASK);
}
val = MIN(val1, val2);
/* XXX For now, use the 11n config flag */
if ((vap->iv_flags_ht & IEEE80211_FHT_STBC_TX) == 0)
val = 0;
- new_vhtcap |= SM(val, IEEE80211_VHTCAP_TXSTBC);
+ new_vhtcap |= _IEEE80211_SHIFTMASK(val, IEEE80211_VHTCAP_TXSTBC);
/* RX STBC1..4 */
- val2 = val1 = MS(vap->iv_vhtcaps, IEEE80211_VHTCAP_RXSTBC_MASK);
+ val2 = val1 = _IEEE80211_MASKSHIFT(vap->iv_vhtcaps, IEEE80211_VHTCAP_RXSTBC_MASK);
if (opmode == 1) {
/* STA mode - enable it only if node TXSTBC is non-zero */
- val2 = MS(ni->ni_vhtcap, IEEE80211_VHTCAP_TXSTBC);
+ val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, IEEE80211_VHTCAP_TXSTBC);
}
val = MIN(val1, val2);
/* XXX For now, use the 11n config flag */
if ((vap->iv_flags_ht & IEEE80211_FHT_STBC_RX) == 0)
val = 0;
- new_vhtcap |= SM(val, IEEE80211_VHTCAP_RXSTBC_MASK);
+ new_vhtcap |= _IEEE80211_SHIFTMASK(val, IEEE80211_VHTCAP_RXSTBC_MASK);
/*
* Finally - if RXSTBC is 0, then don't enable TXSTBC.
@@ -480,115 +476,115 @@
*/
/* SU Beamformer capable */
- val2 = val1 = MS(vap->iv_vhtcaps,
+ val2 = val1 = _IEEE80211_MASKSHIFT(vap->iv_vhtcaps,
IEEE80211_VHTCAP_SU_BEAMFORMER_CAPABLE);
if (opmode == 1) {
- val2 = MS(ni->ni_vhtcap,
+ val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap,
IEEE80211_VHTCAP_SU_BEAMFORMER_CAPABLE);
}
val = MIN(val1, val2);
- new_vhtcap |= SM(val, IEEE80211_VHTCAP_SU_BEAMFORMER_CAPABLE);
+ new_vhtcap |= _IEEE80211_SHIFTMASK(val, IEEE80211_VHTCAP_SU_BEAMFORMER_CAPABLE);
/* SU Beamformee capable */
- val2 = val1 = MS(vap->iv_vhtcaps,
+ val2 = val1 = _IEEE80211_MASKSHIFT(vap->iv_vhtcaps,
IEEE80211_VHTCAP_SU_BEAMFORMEE_CAPABLE);
if (opmode == 1) {
- val2 = MS(ni->ni_vhtcap,
+ val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap,
IEEE80211_VHTCAP_SU_BEAMFORMEE_CAPABLE);
}
val = MIN(val1, val2);
- new_vhtcap |= SM(val, IEEE80211_VHTCAP_SU_BEAMFORMEE_CAPABLE);
+ new_vhtcap |= _IEEE80211_SHIFTMASK(val, IEEE80211_VHTCAP_SU_BEAMFORMEE_CAPABLE);
/* Beamformee STS capability - only if SU beamformee capable */
- val2 = val1 = MS(vap->iv_vhtcaps, IEEE80211_VHTCAP_BEAMFORMEE_STS_MASK);
+ val2 = val1 = _IEEE80211_MASKSHIFT(vap->iv_vhtcaps, IEEE80211_VHTCAP_BEAMFORMEE_STS_MASK);
if (opmode == 1) {
- val2 = MS(ni->ni_vhtcap, IEEE80211_VHTCAP_BEAMFORMEE_STS_MASK);
+ val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, IEEE80211_VHTCAP_BEAMFORMEE_STS_MASK);
}
val = MIN(val1, val2);
if ((new_vhtcap & IEEE80211_VHTCAP_SU_BEAMFORMEE_CAPABLE) == 0)
val = 0;
- new_vhtcap |= SM(val, IEEE80211_VHTCAP_BEAMFORMEE_STS_MASK);
+ new_vhtcap |= _IEEE80211_SHIFTMASK(val, IEEE80211_VHTCAP_BEAMFORMEE_STS_MASK);
/* Sounding dimensions - only if SU beamformer capable */
- val2 = val1 = MS(vap->iv_vhtcaps,
+ val2 = val1 = _IEEE80211_MASKSHIFT(vap->iv_vhtcaps,
IEEE80211_VHTCAP_SOUNDING_DIMENSIONS_MASK);
if (opmode == 1)
- val2 = MS(ni->ni_vhtcap,
+ val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap,
IEEE80211_VHTCAP_SOUNDING_DIMENSIONS_MASK);
val = MIN(val1, val2);
if ((new_vhtcap & IEEE80211_VHTCAP_SU_BEAMFORMER_CAPABLE) == 0)
val = 0;
- new_vhtcap |= SM(val, IEEE80211_VHTCAP_SOUNDING_DIMENSIONS_MASK);
+ new_vhtcap |= _IEEE80211_SHIFTMASK(val, IEEE80211_VHTCAP_SOUNDING_DIMENSIONS_MASK);
/*
* MU Beamformer capable - only if SU BFF capable, MU BFF capable
* and STA (not AP)
*/
- val2 = val1 = MS(vap->iv_vhtcaps,
+ val2 = val1 = _IEEE80211_MASKSHIFT(vap->iv_vhtcaps,
IEEE80211_VHTCAP_MU_BEAMFORMER_CAPABLE);
if (opmode == 1)
- val2 = MS(ni->ni_vhtcap,
+ val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap,
IEEE80211_VHTCAP_MU_BEAMFORMER_CAPABLE);
val = MIN(val1, val2);
if ((new_vhtcap & IEEE80211_VHTCAP_SU_BEAMFORMER_CAPABLE) == 0)
val = 0;
if (opmode != 1) /* Only enable for STA mode */
val = 0;
- new_vhtcap |= SM(val, IEEE80211_VHTCAP_SU_BEAMFORMER_CAPABLE);
+ new_vhtcap |= _IEEE80211_SHIFTMASK(val, IEEE80211_VHTCAP_SU_BEAMFORMER_CAPABLE);
/*
* MU Beamformee capable - only if SU BFE capable, MU BFE capable
* and AP (not STA)
*/
- val2 = val1 = MS(vap->iv_vhtcaps,
+ val2 = val1 = _IEEE80211_MASKSHIFT(vap->iv_vhtcaps,
IEEE80211_VHTCAP_MU_BEAMFORMEE_CAPABLE);
if (opmode == 1)
- val2 = MS(ni->ni_vhtcap,
+ val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap,
IEEE80211_VHTCAP_MU_BEAMFORMEE_CAPABLE);
val = MIN(val1, val2);
if ((new_vhtcap & IEEE80211_VHTCAP_SU_BEAMFORMEE_CAPABLE) == 0)
val = 0;
if (opmode != 0) /* Only enable for AP mode */
val = 0;
- new_vhtcap |= SM(val, IEEE80211_VHTCAP_SU_BEAMFORMEE_CAPABLE);
+ new_vhtcap |= _IEEE80211_SHIFTMASK(val, IEEE80211_VHTCAP_SU_BEAMFORMEE_CAPABLE);
/* VHT TXOP PS */
- val2 = val1 = MS(vap->iv_vhtcaps, IEEE80211_VHTCAP_VHT_TXOP_PS);
+ val2 = val1 = _IEEE80211_MASKSHIFT(vap->iv_vhtcaps, IEEE80211_VHTCAP_VHT_TXOP_PS);
if (opmode == 1)
- val2 = MS(ni->ni_vhtcap, IEEE80211_VHTCAP_VHT_TXOP_PS);
+ val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, IEEE80211_VHTCAP_VHT_TXOP_PS);
val = MIN(val1, val2);
- new_vhtcap |= SM(val, IEEE80211_VHTCAP_VHT_TXOP_PS);
+ new_vhtcap |= _IEEE80211_SHIFTMASK(val, IEEE80211_VHTCAP_VHT_TXOP_PS);
/* HTC_VHT */
- val2 = val1 = MS(vap->iv_vhtcaps, IEEE80211_VHTCAP_HTC_VHT);
+ val2 = val1 = _IEEE80211_MASKSHIFT(vap->iv_vhtcaps, IEEE80211_VHTCAP_HTC_VHT);
if (opmode == 1)
- val2 = MS(ni->ni_vhtcap, IEEE80211_VHTCAP_HTC_VHT);
+ val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, IEEE80211_VHTCAP_HTC_VHT);
val = MIN(val1, val2);
- new_vhtcap |= SM(val, IEEE80211_VHTCAP_HTC_VHT);
+ new_vhtcap |= _IEEE80211_SHIFTMASK(val, IEEE80211_VHTCAP_HTC_VHT);
/* A-MPDU length max */
/* XXX TODO: we need a userland config knob for this */
- val2 = val1 = MS(vap->iv_vhtcaps,
+ val2 = val1 = _IEEE80211_MASKSHIFT(vap->iv_vhtcaps,
IEEE80211_VHTCAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK);
if (opmode == 1)
- val2 = MS(ni->ni_vhtcap,
+ val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap,
IEEE80211_VHTCAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK);
val = MIN(val1, val2);
- new_vhtcap |= SM(val, IEEE80211_VHTCAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK);
+ new_vhtcap |= _IEEE80211_SHIFTMASK(val, IEEE80211_VHTCAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK);
/*
* Link adaptation is only valid if HTC-VHT capable is 1.
* Otherwise, always set it to 0.
*/
- val2 = val1 = MS(vap->iv_vhtcaps,
+ val2 = val1 = _IEEE80211_MASKSHIFT(vap->iv_vhtcaps,
IEEE80211_VHTCAP_VHT_LINK_ADAPTATION_VHT_MASK);
if (opmode == 1)
- val2 = MS(ni->ni_vhtcap,
+ val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap,
IEEE80211_VHTCAP_VHT_LINK_ADAPTATION_VHT_MASK);
val = MIN(val1, val2);
if ((new_vhtcap & IEEE80211_VHTCAP_HTC_VHT) == 0)
val = 0;
- new_vhtcap |= SM(val, IEEE80211_VHTCAP_VHT_LINK_ADAPTATION_VHT_MASK);
+ new_vhtcap |= _IEEE80211_SHIFTMASK(val, IEEE80211_VHTCAP_VHT_LINK_ADAPTATION_VHT_MASK);
/*
* The following two options are 0 if the pattern may change, 1 if it
@@ -596,18 +592,18 @@
*/
/* RX antenna pattern */
- val2 = val1 = MS(vap->iv_vhtcaps, IEEE80211_VHTCAP_RX_ANTENNA_PATTERN);
+ val2 = val1 = _IEEE80211_MASKSHIFT(vap->iv_vhtcaps, IEEE80211_VHTCAP_RX_ANTENNA_PATTERN);
if (opmode == 1)
- val2 = MS(ni->ni_vhtcap, IEEE80211_VHTCAP_RX_ANTENNA_PATTERN);
+ val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, IEEE80211_VHTCAP_RX_ANTENNA_PATTERN);
val = MAX(val1, val2);
- new_vhtcap |= SM(val, IEEE80211_VHTCAP_RX_ANTENNA_PATTERN);
+ new_vhtcap |= _IEEE80211_SHIFTMASK(val, IEEE80211_VHTCAP_RX_ANTENNA_PATTERN);
/* TX antenna pattern */
- val2 = val1 = MS(vap->iv_vhtcaps, IEEE80211_VHTCAP_TX_ANTENNA_PATTERN);
+ val2 = val1 = _IEEE80211_MASKSHIFT(vap->iv_vhtcaps, IEEE80211_VHTCAP_TX_ANTENNA_PATTERN);
if (opmode == 1)
- val2 = MS(ni->ni_vhtcap, IEEE80211_VHTCAP_TX_ANTENNA_PATTERN);
+ val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, IEEE80211_VHTCAP_TX_ANTENNA_PATTERN);
val = MAX(val1, val2);
- new_vhtcap |= SM(val, IEEE80211_VHTCAP_TX_ANTENNA_PATTERN);
+ new_vhtcap |= _IEEE80211_SHIFTMASK(val, IEEE80211_VHTCAP_TX_ANTENNA_PATTERN);
/*
* MCS set - again, we announce what we want to use

File Metadata

Mime Type
text/plain
Expires
Wed, Apr 22, 1:35 AM (21 h, 46 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31944825
Default Alt Text
D26539.diff (40 KB)

Event Timeline