staging: brcm80211: cleaned up brcmu_wifi.h macro's

Substituted/removed macro's.

Reported-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Roland Vossen <rvossen@broadcom.com>
Reviewed-by: Arend van Spriel <arend@broadcom.com>
Reviewed-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Roland Vossen 2011-09-12 12:14:48 +02:00 committed by Greg Kroah-Hartman
parent ea2380f791
commit 3a099fadb3
7 changed files with 70 additions and 61 deletions

View File

@ -261,7 +261,7 @@ bool brcmf_c_prec_enq(struct brcmf_pub *drvr, struct pktq *q,
/* Evict if needed */ /* Evict if needed */
if (eprec >= 0) { if (eprec >= 0) {
/* Detect queueing to unconfigured precedence */ /* Detect queueing to unconfigured precedence */
discard_oldest = AC_BITMAP_TST(drvr->wme_dp, eprec); discard_oldest = ac_bitmap_tst(drvr->wme_dp, eprec);
if (eprec == prec && !discard_oldest) if (eprec == prec && !discard_oldest)
return false; /* refuse newer (incoming) packet */ return false; /* refuse newer (incoming) packet */
/* Evict packet according to discard policy */ /* Evict packet according to discard policy */

View File

@ -1141,9 +1141,9 @@ brcms_c_quiet_chanspec(struct brcms_cm_info *wlc_cm, u16 chspec)
return (wlc_cm->wlc->pub->_n_enab & SUPPORT_11N) && return (wlc_cm->wlc->pub->_n_enab & SUPPORT_11N) &&
CHSPEC_IS40(chspec) ? CHSPEC_IS40(chspec) ?
(isset(wlc_cm->quiet_channels.vec, (isset(wlc_cm->quiet_channels.vec,
LOWER_20_SB(CHSPEC_CHANNEL(chspec))) || lower_20_sb(CHSPEC_CHANNEL(chspec))) ||
isset(wlc_cm->quiet_channels.vec, isset(wlc_cm->quiet_channels.vec,
UPPER_20_SB(CHSPEC_CHANNEL(chspec)))) : upper_20_sb(CHSPEC_CHANNEL(chspec)))) :
isset(wlc_cm->quiet_channels.vec, CHSPEC_CHANNEL(chspec)); isset(wlc_cm->quiet_channels.vec, CHSPEC_CHANNEL(chspec));
} }
@ -1310,7 +1310,7 @@ brcms_c_channel_reg_limits(struct brcms_cm_info *wlc_cm, u16 chanspec,
} }
chan = CHSPEC_CHANNEL(chanspec); chan = CHSPEC_CHANNEL(chanspec);
band = wlc->bandstate[CHSPEC_BANDUNIT(chanspec)]; band = wlc->bandstate[chspec_bandunit(chanspec)];
li = (band->bandtype == BRCM_BAND_5G) ? li = (band->bandtype == BRCM_BAND_5G) ?
brcms_c_get_locale_5g(country->locale_5G) : brcms_c_get_locale_5g(country->locale_5G) :
brcms_c_get_locale_2g(country->locale_2G); brcms_c_get_locale_2g(country->locale_2G);
@ -1516,7 +1516,7 @@ brcms_c_valid_chanspec_ext(struct brcms_cm_info *wlc_cm, u16 chspec,
} }
if (CHANNEL_BANDUNIT(wlc_cm->wlc, channel) != if (CHANNEL_BANDUNIT(wlc_cm->wlc, channel) !=
CHSPEC_BANDUNIT(chspec)) chspec_bandunit(chspec))
return false; return false;
/* Check a 20Mhz channel */ /* Check a 20Mhz channel */
@ -1538,26 +1538,26 @@ brcms_c_valid_chanspec_ext(struct brcms_cm_info *wlc_cm, u16 chspec,
u8 num_ch20_entries = u8 num_ch20_entries =
sizeof(chan20_info) / sizeof(struct chan20_info); sizeof(chan20_info) / sizeof(struct chan20_info);
if (!VALID_40CHANSPEC_IN_BAND(wlc, CHSPEC_BANDUNIT(chspec))) if (!VALID_40CHANSPEC_IN_BAND(wlc, chspec_bandunit(chspec)))
return false; return false;
if (dualband) { if (dualband) {
if (!brcms_c_valid_channel20_db(wlc->cmi, if (!brcms_c_valid_channel20_db(wlc->cmi,
LOWER_20_SB(channel)) || lower_20_sb(channel)) ||
!brcms_c_valid_channel20_db(wlc->cmi, !brcms_c_valid_channel20_db(wlc->cmi,
UPPER_20_SB(channel))) upper_20_sb(channel)))
return false; return false;
} else { } else {
if (!brcms_c_valid_channel20(wlc->cmi, if (!brcms_c_valid_channel20(wlc->cmi,
LOWER_20_SB(channel)) || lower_20_sb(channel)) ||
!brcms_c_valid_channel20(wlc->cmi, !brcms_c_valid_channel20(wlc->cmi,
UPPER_20_SB(channel))) upper_20_sb(channel)))
return false; return false;
} }
/* find the lower sideband info in the sideband array */ /* find the lower sideband info in the sideband array */
for (idx = 0; idx < num_ch20_entries; idx++) { for (idx = 0; idx < num_ch20_entries; idx++) {
if (chan20_info[idx].sb == LOWER_20_SB(channel)) if (chan20_info[idx].sb == lower_20_sb(channel))
upper_sideband = chan20_info[idx].adj_sbs; upper_sideband = chan20_info[idx].adj_sbs;
} }
/* check that the lower sideband allows an upper sideband */ /* check that the lower sideband allows an upper sideband */

View File

@ -1058,7 +1058,7 @@ static void brcms_b_info_init(struct brcms_hardware *wlc_hw)
/* default mac retry limits */ /* default mac retry limits */
wlc_hw->SRL = RETRY_SHORT_DEF; wlc_hw->SRL = RETRY_SHORT_DEF;
wlc_hw->LRL = RETRY_LONG_DEF; wlc_hw->LRL = RETRY_LONG_DEF;
wlc_hw->chanspec = CH20MHZ_CHSPEC(1); wlc_hw->chanspec = ch20mhz_chspec(1);
} }
static void brcms_b_wait_for_wake(struct brcms_hardware *wlc_hw) static void brcms_b_wait_for_wake(struct brcms_hardware *wlc_hw)
@ -3266,7 +3266,7 @@ static brcms_b_init(struct brcms_hardware *wlc_hw, u16 chanspec,
macintmask = brcms_intrsoff(wlc->wl); macintmask = brcms_intrsoff(wlc->wl);
/* set up the specified band and chanspec */ /* set up the specified band and chanspec */
brcms_c_setxband(wlc_hw, CHSPEC_BANDUNIT(chanspec)); brcms_c_setxband(wlc_hw, chspec_bandunit(chanspec));
wlc_phy_chanspec_radio_set(wlc_hw->band->pi, chanspec); wlc_phy_chanspec_radio_set(wlc_hw->band->pi, chanspec);
/* do one-time phy inits and calibration */ /* do one-time phy inits and calibration */
@ -3366,7 +3366,7 @@ static void brcms_c_bandinit_ordered(struct brcms_c_info *wlc,
band_order[0] = band_order[1] = parkband; band_order[0] = band_order[1] = parkband;
} else { } else {
/* park on the band of the specified chanspec */ /* park on the band of the specified chanspec */
parkband = CHSPEC_BANDUNIT(chanspec); parkband = chspec_bandunit(chanspec);
/* order so that parkband initialize last */ /* order so that parkband initialize last */
band_order[0] = parkband ^ 1; band_order[0] = parkband ^ 1;
@ -3815,7 +3815,7 @@ brcms_b_set_chanspec(struct brcms_hardware *wlc_hw, u16 chanspec,
/* Switch bands if necessary */ /* Switch bands if necessary */
if (wlc_hw->_nbands > 1) { if (wlc_hw->_nbands > 1) {
bandunit = CHSPEC_BANDUNIT(chanspec); bandunit = chspec_bandunit(chanspec);
if (wlc_hw->band->bandunit != bandunit) { if (wlc_hw->band->bandunit != bandunit) {
/* brcms_b_setband disables other bandunit, /* brcms_b_setband disables other bandunit,
* use light band switch if not up yet * use light band switch if not up yet
@ -3885,7 +3885,7 @@ void brcms_c_set_chanspec(struct brcms_c_info *wlc, u16 chanspec)
/* Switch bands if necessary */ /* Switch bands if necessary */
if (wlc->pub->_nbands > 1) { if (wlc->pub->_nbands > 1) {
bandunit = CHSPEC_BANDUNIT(chanspec); bandunit = chspec_bandunit(chanspec);
if (wlc->band->bandunit != bandunit || wlc->bandinit_pending) { if (wlc->band->bandunit != bandunit || wlc->bandinit_pending) {
switchband = true; switchband = true;
if (wlc->bandlocked) { if (wlc->bandlocked) {
@ -4428,7 +4428,7 @@ void brcms_c_info_init(struct brcms_c_info *wlc, int unit)
wlc->device_present = true; wlc->device_present = true;
/* Save our copy of the chanspec */ /* Save our copy of the chanspec */
wlc->chanspec = CH20MHZ_CHSPEC(1); wlc->chanspec = ch20mhz_chspec(1);
/* various 802.11g modes */ /* various 802.11g modes */
wlc->shortslot = false; wlc->shortslot = false;
@ -4974,13 +4974,13 @@ static void brcms_c_bss_default_init(struct brcms_c_info *wlc)
/* fill the default channel as the first valid channel /* fill the default channel as the first valid channel
* starting from the 2G channels * starting from the 2G channels
*/ */
chanspec = CH20MHZ_CHSPEC(1); chanspec = ch20mhz_chspec(1);
wlc->home_chanspec = bi->chanspec = chanspec; wlc->home_chanspec = bi->chanspec = chanspec;
/* find the band of our default channel */ /* find the band of our default channel */
band = wlc->band; band = wlc->band;
if (wlc->pub->_nbands > 1 && if (wlc->pub->_nbands > 1 &&
band->bandunit != CHSPEC_BANDUNIT(chanspec)) band->bandunit != chspec_bandunit(chanspec))
band = wlc->bandstate[OTHERBANDUNIT(wlc)]; band = wlc->bandstate[OTHERBANDUNIT(wlc)];
/* init bss rates to the band specific default rate set */ /* init bss rates to the band specific default rate set */
@ -6222,7 +6222,7 @@ _brcms_c_ioctl(struct brcms_c_info *wlc, int cmd, void *arg, int len,
switch (cmd) { switch (cmd) {
case BRCM_SET_CHANNEL:{ case BRCM_SET_CHANNEL:{
u16 chspec = CH20MHZ_CHSPEC(val); u16 chspec = ch20mhz_chspec(val);
if (val < 0 || val > MAXCHANNEL) { if (val < 0 || val > MAXCHANNEL) {
bcmerror = -EINVAL; bcmerror = -EINVAL;
@ -6236,7 +6236,7 @@ _brcms_c_ioctl(struct brcms_c_info *wlc, int cmd, void *arg, int len,
if (!wlc->pub->up && IS_MBAND_UNLOCKED(wlc)) { if (!wlc->pub->up && IS_MBAND_UNLOCKED(wlc)) {
if (wlc->band->bandunit != if (wlc->band->bandunit !=
CHSPEC_BANDUNIT(chspec)) chspec_bandunit(chspec))
wlc->bandinit_pending = true; wlc->bandinit_pending = true;
else else
wlc->bandinit_pending = false; wlc->bandinit_pending = false;
@ -6787,7 +6787,7 @@ brcms_c_prec_enq_head(struct brcms_c_info *wlc, struct pktq *q,
if (eprec >= 0) { if (eprec >= 0) {
bool discard_oldest; bool discard_oldest;
discard_oldest = AC_BITMAP_TST(wlc->wme_dp, eprec); discard_oldest = ac_bitmap_tst(wlc->wme_dp, eprec);
/* Refuse newer packet unless configured to discard oldest */ /* Refuse newer packet unless configured to discard oldest */
if (eprec == prec && !discard_oldest) { if (eprec == prec && !discard_oldest) {

View File

@ -596,7 +596,7 @@ wlc_phy_attach(struct shared_phy *sh, struct d11regs *regs, int bandtype,
pi->bw = WL_CHANSPEC_BW_20; pi->bw = WL_CHANSPEC_BW_20;
pi->radio_chanspec = (bandtype == BRCM_BAND_2G) ? pi->radio_chanspec = (bandtype == BRCM_BAND_2G) ?
CH20MHZ_CHSPEC(1) : CH20MHZ_CHSPEC(36); ch20mhz_chspec(1) : ch20mhz_chspec(36);
pi->rxiq_samps = PHY_NOISE_SAMPLE_LOG_NUM_NPHY; pi->rxiq_samps = PHY_NOISE_SAMPLE_LOG_NUM_NPHY;
pi->rxiq_antsel = ANT_RX_DIV_DEF; pi->rxiq_antsel = ANT_RX_DIV_DEF;
@ -1375,7 +1375,7 @@ u16 wlc_phy_chanspec_band_firstch(struct brcms_phy_pub *ppi, uint band)
if (j == ARRAY_SIZE(chan_info_all)) if (j == ARRAY_SIZE(chan_info_all))
continue; continue;
channel = UPPER_20_SB(channel); channel = upper_20_sb(channel);
chspec = channel | WL_CHANSPEC_BW_40 | chspec = channel | WL_CHANSPEC_BW_40 |
WL_CHANSPEC_CTL_SB_LOWER; WL_CHANSPEC_CTL_SB_LOWER;
if (band == BRCM_BAND_2G) if (band == BRCM_BAND_2G)
@ -1383,7 +1383,7 @@ u16 wlc_phy_chanspec_band_firstch(struct brcms_phy_pub *ppi, uint band)
else else
chspec |= WL_CHANSPEC_BAND_5G; chspec |= WL_CHANSPEC_BAND_5G;
} else } else
chspec = CH20MHZ_CHSPEC(channel); chspec = ch20mhz_chspec(channel);
if ((pi->a_band_high_disable) && (channel >= FIRST_REF5_CHANNUM) if ((pi->a_band_high_disable) && (channel >= FIRST_REF5_CHANNUM)
&& (channel <= LAST_REF5_CHANNUM)) && (channel <= LAST_REF5_CHANNUM))
@ -1650,9 +1650,9 @@ void wlc_phy_txpower_recalc_target(struct brcms_phy *pi)
if (CHSPEC_CTL_SB(chspec) == WL_CHANSPEC_CTL_SB_NONE) if (CHSPEC_CTL_SB(chspec) == WL_CHANSPEC_CTL_SB_NONE)
target_chan = CHSPEC_CHANNEL(chspec); target_chan = CHSPEC_CHANNEL(chspec);
else if (CHSPEC_CTL_SB(chspec) == WL_CHANSPEC_CTL_SB_UPPER) else if (CHSPEC_CTL_SB(chspec) == WL_CHANSPEC_CTL_SB_UPPER)
target_chan = UPPER_20_SB(CHSPEC_CHANNEL(chspec)); target_chan = upper_20_sb(CHSPEC_CHANNEL(chspec));
else else
target_chan = LOWER_20_SB(CHSPEC_CHANNEL(chspec)); target_chan = lower_20_sb(CHSPEC_CHANNEL(chspec));
pactrl = 0; pactrl = 0;
if (ISLCNPHY(pi)) { if (ISLCNPHY(pi)) {

View File

@ -389,10 +389,6 @@ extern const u8 wlc_prio2prec_map[];
#define MAXBANDS 2 /* Maximum #of bands */ #define MAXBANDS 2 /* Maximum #of bands */
/* bandstate array indices */
#define BAND_2G_INDEX 0 /* wlc->bandstate[x] index */
#define BAND_5G_INDEX 1 /* wlc->bandstate[x] index */
/* max number of antenna configurations */ /* max number of antenna configurations */
#define ANT_SELCFG_MAX 4 #define ANT_SELCFG_MAX 4

View File

@ -65,13 +65,13 @@ u8 brcmu_chspec_ctlchan(u16 chspec)
* control chan is the upper 20 MHZ SB of the * control chan is the upper 20 MHZ SB of the
* 40MHZ channel * 40MHZ channel
*/ */
ctl_chan = UPPER_20_SB(CHSPEC_CHANNEL(chspec)); ctl_chan = upper_20_sb(CHSPEC_CHANNEL(chspec));
else else
/* /*
* control chan is the lower 20 MHZ SB of the * control chan is the lower 20 MHZ SB of the
* 40MHZ channel * 40MHZ channel
*/ */
ctl_chan = LOWER_20_SB(CHSPEC_CHANNEL(chspec)); ctl_chan = lower_20_sb(CHSPEC_CHANNEL(chspec));
} }
return ctl_chan; return ctl_chan;

View File

@ -35,6 +35,10 @@
#define CH_MAX_2G_CHANNEL 14 /* Max channel in 2G band */ #define CH_MAX_2G_CHANNEL 14 /* Max channel in 2G band */
#define BRCM_MAX_2G_CHANNEL CH_MAX_2G_CHANNEL /* legacy define */ #define BRCM_MAX_2G_CHANNEL CH_MAX_2G_CHANNEL /* legacy define */
/* bandstate array indices */
#define BAND_2G_INDEX 0 /* wlc->bandstate[x] index */
#define BAND_5G_INDEX 1 /* wlc->bandstate[x] index */
/* /*
* max # supported channels. The max channel no is 216, this is that + 1 * max # supported channels. The max channel no is 216, this is that + 1
* rounded up to a multiple of NBBY (8). DO NOT MAKE it > 255: channels are * rounded up to a multiple of NBBY (8). DO NOT MAKE it > 255: channels are
@ -68,31 +72,6 @@
#define WF_CHAN_FACTOR_5_G 10000 /* 5 GHz band, 5000 MHz */ #define WF_CHAN_FACTOR_5_G 10000 /* 5 GHz band, 5000 MHz */
#define WF_CHAN_FACTOR_4_G 8000 /* 4.9 GHz band for Japan */ #define WF_CHAN_FACTOR_4_G 8000 /* 4.9 GHz band for Japan */
/* channel defines */
#define LOWER_20_SB(channel) \
(((channel) > CH_10MHZ_APART) ? ((channel) - CH_10MHZ_APART) : 0)
#define UPPER_20_SB(channel) \
(((channel) < (MAXCHANNEL - CH_10MHZ_APART)) ? \
((channel) + CH_10MHZ_APART) : 0)
#define CHSPEC_BANDUNIT(chspec) \
(CHSPEC_IS5G(chspec) ? BAND_5G_INDEX : BAND_2G_INDEX)
#define CH20MHZ_CHSPEC(channel) \
(u16)((u16)(channel) | WL_CHANSPEC_BW_20 | WL_CHANSPEC_CTL_SB_NONE | \
(((channel) <= CH_MAX_2G_CHANNEL) ? \
WL_CHANSPEC_BAND_2G : WL_CHANSPEC_BAND_5G))
#define NEXT_20MHZ_CHAN(channel) \
(((channel) < (MAXCHANNEL - CH_20MHZ_APART)) ? \
((channel) + CH_20MHZ_APART) : 0)
#define CH40MHZ_CHSPEC(channel, ctlsb) \
(u16)((channel) | (ctlsb) | WL_CHANSPEC_BW_40 | \
((channel) <= CH_MAX_2G_CHANNEL ? \
WL_CHANSPEC_BAND_2G : WL_CHANSPEC_BAND_5G))
#define CHSPEC_CHANNEL(chspec) ((u8)((chspec) & WL_CHANSPEC_CHAN_MASK)) #define CHSPEC_CHANNEL(chspec) ((u8)((chspec) & WL_CHANSPEC_CHAN_MASK))
#define CHSPEC_BAND(chspec) ((chspec) & WL_CHANSPEC_BAND_MASK) #define CHSPEC_BAND(chspec) ((chspec) & WL_CHANSPEC_BAND_MASK)
@ -127,13 +106,44 @@
#define CHSPEC_CTL_CHAN(chspec) \ #define CHSPEC_CTL_CHAN(chspec) \
((CHSPEC_SB_LOWER(chspec)) ? \ ((CHSPEC_SB_LOWER(chspec)) ? \
(LOWER_20_SB(((chspec) & WL_CHANSPEC_CHAN_MASK))) : \ (lower_20_sb(((chspec) & WL_CHANSPEC_CHAN_MASK))) : \
(UPPER_20_SB(((chspec) & WL_CHANSPEC_CHAN_MASK)))) (upper_20_sb(((chspec) & WL_CHANSPEC_CHAN_MASK))))
#define CHSPEC2BAND(chspec) (CHSPEC_IS5G(chspec) ? BRCM_BAND_5G : BRCM_BAND_2G) #define CHSPEC2BAND(chspec) (CHSPEC_IS5G(chspec) ? BRCM_BAND_5G : BRCM_BAND_2G)
#define CHANSPEC_STR_LEN 8 #define CHANSPEC_STR_LEN 8
static inline int lower_20_sb(int channel)
{
return channel > CH_10MHZ_APART ? (channel - CH_10MHZ_APART) : 0;
}
static inline int upper_20_sb(int channel)
{
return (channel < (MAXCHANNEL - CH_10MHZ_APART)) ?
channel + CH_10MHZ_APART : 0;
}
static inline int chspec_bandunit(u16 chspec)
{
return CHSPEC_IS5G(chspec) ? BAND_5G_INDEX : BAND_2G_INDEX;
}
static inline u16 ch20mhz_chspec(int channel)
{
u16 rc = channel <= CH_MAX_2G_CHANNEL ?
WL_CHANSPEC_BAND_2G : WL_CHANSPEC_BAND_5G;
return (u16)((u16)channel | WL_CHANSPEC_BW_20 |
WL_CHANSPEC_CTL_SB_NONE | rc);
}
static inline int next_20mhz_chan(int channel)
{
return channel < (MAXCHANNEL - CH_20MHZ_APART) ?
channel + CH_20MHZ_APART : 0;
}
/* defined rate in 500kbps */ /* defined rate in 500kbps */
#define BRCM_MAXRATE 108 /* in 500kbps units */ #define BRCM_MAXRATE 108 /* in 500kbps units */
#define BRCM_RATE_1M 2 /* in 500kbps units */ #define BRCM_RATE_1M 2 /* in 500kbps units */
@ -153,7 +163,10 @@
#define MCSSET_LEN 16 #define MCSSET_LEN 16
#define AC_BITMAP_TST(ab, ac) (((ab) & (1 << (ac))) != 0) static inline bool ac_bitmap_tst(u8 bitmap, int prec)
{
return (bitmap & (1 << (prec))) != 0;
}
/* /*
* Verify the chanspec is using a legal set of parameters, i.e. that the * Verify the chanspec is using a legal set of parameters, i.e. that the