Lines Matching refs:band
361 return wlc->band->basic_rate[mcs_table[rspec & RSPEC_RATE_MASK] in brcms_basic_rate()
363 return wlc->band->basic_rate[rspec & RSPEC_RATE_MASK]; in brcms_basic_rate()
374 static u16 get_sifs(struct brcms_band *band) in get_sifs() argument
376 return band->bandtype == BRCM_BAND_5G ? APHY_SIFS_TIME : in get_sifs()
650 if (wlc->band->bandtype == BRCM_BAND_2G) in brcms_c_calc_frame_time()
662 if (wlc->band->bandtype == BRCM_BAND_2G) in brcms_c_calc_frame_time()
721 brcms_c_write_mhf(wlc_hw, wlc_hw->band->mhfs); in brcms_c_ucode_bsinit()
725 if (BRCMS_ISNPHY(wlc_hw->band)) in brcms_c_ucode_bsinit()
734 if (BRCMS_ISLCNPHY(wlc_hw->band)) in brcms_c_ucode_bsinit()
788 wlc_hw->band = wlc_hw->bandstate[bandunit]; in brcms_c_setxband()
794 wlc_hw->wlc->band = wlc_hw->wlc->bandstate[bandunit]; in brcms_c_setxband()
823 wlc_phy_switch_radio(wlc_hw->band->pi, OFF); in brcms_c_setband_inact()
1090 if (BRCMS_ISNPHY(wlc_hw->band) && NREV_LT(wlc_hw->band->phyrev, 2)) { in brcms_c_mhfdef()
1182 brcms_c_mhfdef(wlc, wlc_hw->band->mhfs, pio_mhf2); in brcms_b_attach_dmapio()
1328 struct brcms_hw_band *band; in brcms_b_mhf() local
1339 band = wlc_hw->band; in brcms_b_mhf()
1342 band = wlc_hw->bandstate[BAND_5G_INDEX]; in brcms_b_mhf()
1345 band = wlc_hw->bandstate[BAND_2G_INDEX]; in brcms_b_mhf()
1348 band = NULL; /* error condition */ in brcms_b_mhf()
1351 if (band) { in brcms_b_mhf()
1352 save = band->mhfs[idx]; in brcms_b_mhf()
1353 band->mhfs[idx] = (band->mhfs[idx] & ~mask) | val; in brcms_b_mhf()
1358 if (wlc_hw->clk && (band->mhfs[idx] != save) in brcms_b_mhf()
1359 && (band == wlc_hw->band)) in brcms_b_mhf()
1361 (u16) band->mhfs[idx]); in brcms_b_mhf()
1556 wlc_hw->band->CWmin = newmin; in brcms_b_set_cwmin()
1566 wlc_hw->band->CWmax = newmax; in brcms_b_set_cwmax()
1583 wlc_phy_bw_state_set(wlc_hw->band->pi, bw); in brcms_b_bw_set()
1586 wlc_phy_init(wlc_hw->band->pi, wlc_phy_chanspec_get(wlc_hw->band->pi)); in brcms_b_bw_set()
1599 if (BRCMS_ISLCNPHY(wlc->band)) in brcms_b_upd_synthpu()
1601 else if (BRCMS_ISNPHY(wlc->band) && (NREV_GE(wlc->band->phyrev, 3))) in brcms_b_upd_synthpu()
1671 if (!BRCMS_PHY_11N_CAP(wlc_hw->band)) in brcms_upd_ofdm_pctl1_table()
1700 wlc_hw->band->bandunit); in brcms_b_bsinit()
1704 wlc_phy_init(wlc_hw->band->pi, chanspec); in brcms_b_bsinit()
1712 brcms_b_set_cwmin(wlc_hw, wlc_hw->band->CWmin); in brcms_b_bsinit()
1713 brcms_b_set_cwmax(wlc_hw, wlc_hw->band->CWmax); in brcms_b_bsinit()
1716 wlc_hw->band->bandtype == BRCM_BAND_5G ? in brcms_b_bsinit()
1720 brcms_b_write_shm(wlc_hw, M_PHYTYPE, (u16) wlc_hw->band->phytype); in brcms_b_bsinit()
1721 brcms_b_write_shm(wlc_hw, M_PHYVER, (u16) wlc_hw->band->phyrev); in brcms_b_bsinit()
1755 if (!BRCMS_ISNPHY(wlc_hw->band)) in brcms_b_phyclk_fgc()
1775 struct brcms_phy_pub *pih = wlc_hw->band->pi; in brcms_b_phy_reset()
1783 phy_bw_clkbits = wlc_phy_clk_bwbits(wlc_hw->band->pi); in brcms_b_phy_reset()
1786 if (BRCMS_ISNPHY(wlc_hw->band) && NREV_GE(wlc_hw->band->phyrev, 3) && in brcms_b_phy_reset()
1787 NREV_LE(wlc_hw->band->phyrev, 4)) { in brcms_b_phy_reset()
1922 if (wlc_hw->band && wlc_hw->band->pi) in brcms_b_xtal()
1923 wlc_phy_hw_clk_state_upd(wlc_hw->band->pi, false); in brcms_b_xtal()
1997 flags = (wlc_hw->band->pi ? wlc_hw->band->core_flags : 0); in brcms_b_corereset()
2048 if (wlc_hw->band && wlc_hw->band->pi) in brcms_b_corereset()
2049 wlc_phy_hw_clk_state_upd(wlc_hw->band->pi, true); in brcms_b_corereset()
2148 } else if (BRCMS_ISLCNPHY(wlc_hw->band)) { in brcms_b_switch_macfreq()
2213 wlc_phy_antsel_init(wlc_hw->band->pi, false); in brcms_c_gpio_init()
2275 if (BRCMS_ISNPHY(wlc_hw->band)) { in brcms_ucode_download()
2284 if (BRCMS_ISLCNPHY(wlc_hw->band)) { in brcms_ucode_download()
2318 wlc_phy_antsel_type_set(wlc_hw->band->pi, antsel_type); in brcms_b_antsel_type_set()
2447 if (BRCMS_PHY_11N_CAP(wlc_hw->band)) in brcms_b_tx_fifo_suspend()
2452 if (BRCMS_PHY_11N_CAP(wlc_hw->band)) in brcms_b_tx_fifo_suspend()
2505 wlc_phy_mute_upd(wlc_hw->band->pi, mute_tx, 0); in brcms_b_mute()
2637 wlc_hw->band->bandunit); in brcms_c_suspend_mac_and_wait()
2705 wlc->band->bandunit); in brcms_c_enable_mac()
2871 wlc_phy_switch_radio(wlc_hw->band->pi, OFF); in brcms_c_coredisable()
2874 wlc_phy_anacore(wlc_hw->band->pi, OFF); in brcms_c_coredisable()
2881 wlc_phy_hw_clk_state_upd(wlc_hw->band->pi, false); in brcms_c_coredisable()
3204 if (BRCMS_ISNPHY(wlc_hw->band)) in brcms_b_coreinit()
3211 if (BRCMS_ISLCNPHY(wlc_hw->band)) in brcms_b_coreinit()
3353 wlc_phy_chanspec_radio_set(wlc_hw->band->pi, chanspec); in brcms_b_init()
3356 wlc_phy_cal_init(wlc_hw->band->pi); in brcms_b_init()
3396 brcms_c_stf_ss_update(wlc, wlc->band); in brcms_c_set_phy_chanspec()
3402 brcms_c_rateset_default(rs, NULL, wlc->band->phytype, in brcms_default_rateset()
3403 wlc->band->bandtype, false, BRCMS_RATE_MASK_FULL, in brcms_default_rateset()
3417 u8 *br = wlc->band->basic_rate; in brcms_c_rate_lookup_init()
3458 for (i = 0; i < wlc->band->hw_rateset.count; i++) { in brcms_c_rate_lookup_init()
3459 rate = wlc->band->hw_rateset.rates[i]; in brcms_c_rate_lookup_init()
3517 parkband = wlc->band->bandunit; in brcms_c_bandinit_ordered()
3532 wlc->band = wlc->bandstate[j]; in brcms_c_bandinit_ordered()
3537 brcms_c_rateset_filter(&default_rateset, &wlc->band->hw_rateset, in brcms_c_bandinit_ordered()
3586 if (wlc->home_chanspec == wlc_phy_chanspec_get(wlc->band->pi)) { in brcms_c_ucode_mac_upd()
3597 if (BRCMS_PHY_11N_CAP(wlc->band)) in brcms_c_ucode_mac_upd()
3645 if (BRCMS_PHY_11N_CAP(wlc->band)) { in brcms_c_rateset_get_hwrs()
3646 if (wlc->band->bandtype == BRCM_BAND_5G) in brcms_c_rateset_get_hwrs()
3650 } else if (wlc->band->gmode) in brcms_c_rateset_get_hwrs()
3692 wlc->pub->unit, wlc->band->bandunit); in brcms_c_bsinit()
3795 if (wlc_hw->band->bandtype == BRCM_BAND_2G && wlc_hw->up) { in brcms_b_set_shortslot()
3844 if (wlc_hw->band->bandunit != bandunit) { in brcms_b_set_chanspec()
3859 wlc_phy_initcal_enable(wlc_hw->band->pi, !mute_tx); in brcms_b_set_chanspec()
3863 wlc_phy_txpower_limit_set(wlc_hw->band->pi, txpwr, in brcms_b_set_chanspec()
3865 wlc_phy_chanspec_radio_set(wlc_hw->band->pi, chanspec); in brcms_b_set_chanspec()
3867 wlc_phy_chanspec_set(wlc_hw->band->pi, chanspec); in brcms_b_set_chanspec()
3868 wlc_phy_txpower_limit_set(wlc_hw->band->pi, txpwr, chanspec); in brcms_b_set_chanspec()
3879 wlc->band = wlc->bandstate[bandunit]; in brcms_c_setband()
3905 if (wlc->band->bandunit != bandunit || wlc->bandinit_pending) { in brcms_c_set_chanspec()
3935 brcms_c_rateset_bw_mcs_filter(&wlc->band->hw_rateset, in brcms_c_set_chanspec()
3936 wlc->band->mimo_cap_40 ? brcms_chspec_bw(chanspec) : 0); in brcms_c_set_chanspec()
3957 if (BRCMS_PHY_11N_CAP(wlc->band)) in brcms_c_beacon_phytxctl_txant_upd()
4034 wlc_phy_ldpc_override_set(wlc->band->pi, (val ? true : false)); in brcms_c_ht_update_ldpc()
4212 wlc_phy_watchdog(wlc_hw->band->pi); in brcms_b_watchdog()
4247 if (BRCMS_ISNPHY(wlc->band) && in brcms_c_watchdog()
4409 wlc_hw->band = wlc_hw->bandstate[0]; in brcms_b_attach()
4558 wlc_hw->band->bandunit = j; in brcms_b_attach()
4559 wlc_hw->band->bandtype = j ? BRCM_BAND_5G : BRCM_BAND_2G; in brcms_b_attach()
4560 wlc->band->bandunit = j; in brcms_b_attach()
4561 wlc->band->bandtype = j ? BRCM_BAND_5G : BRCM_BAND_2G; in brcms_b_attach()
4576 wlc_hw->band->pi = in brcms_b_attach()
4578 wlc_hw->band->bandtype, in brcms_b_attach()
4580 if (wlc_hw->band->pi == NULL) { in brcms_b_attach()
4587 wlc_phy_machwcap_set(wlc_hw->band->pi, wlc_hw->machwcap); in brcms_b_attach()
4589 wlc_phy_get_phyversion(wlc_hw->band->pi, &wlc_hw->band->phytype, in brcms_b_attach()
4590 &wlc_hw->band->phyrev, in brcms_b_attach()
4591 &wlc_hw->band->radioid, in brcms_b_attach()
4592 &wlc_hw->band->radiorev); in brcms_b_attach()
4593 wlc_hw->band->abgphy_encore = in brcms_b_attach()
4594 wlc_phy_get_encore(wlc_hw->band->pi); in brcms_b_attach()
4595 wlc->band->abgphy_encore = wlc_phy_get_encore(wlc_hw->band->pi); in brcms_b_attach()
4596 wlc_hw->band->core_flags = in brcms_b_attach()
4597 wlc_phy_get_coreflags(wlc_hw->band->pi); in brcms_b_attach()
4600 if (BRCMS_ISNPHY(wlc_hw->band)) { in brcms_b_attach()
4601 if (NCONF_HAS(wlc_hw->band->phyrev)) in brcms_b_attach()
4605 } else if (BRCMS_ISLCNPHY(wlc_hw->band)) { in brcms_b_attach()
4606 if (LCNCONF_HAS(wlc_hw->band->phyrev)) in brcms_b_attach()
4614 wlc_hw->band->phytype, wlc_hw->band->phyrev); in brcms_b_attach()
4629 wlc->band->pi = wlc_hw->band->pi; in brcms_b_attach()
4630 wlc->band->phytype = wlc_hw->band->phytype; in brcms_b_attach()
4631 wlc->band->phyrev = wlc_hw->band->phyrev; in brcms_b_attach()
4632 wlc->band->radioid = wlc_hw->band->radioid; in brcms_b_attach()
4633 wlc->band->radiorev = wlc_hw->band->radiorev; in brcms_b_attach()
4635 wlc->band->phytype, wlc->band->phyrev, in brcms_b_attach()
4636 wlc->band->radioid, wlc->band->radiorev); in brcms_b_attach()
4638 wlc_hw->band->CWmin = APHY_CWMIN; in brcms_b_attach()
4639 wlc_hw->band->CWmax = PHY_CWMAX; in brcms_b_attach()
4697 bandtype = wlc->band->bandtype; in brcms_c_attach_stf_ant_init()
4723 wlc->band->antgain = sprom->antenna_gain.a1; in brcms_c_attach_stf_ant_init()
4725 wlc->band->antgain = sprom->antenna_gain.a0; in brcms_c_attach_stf_ant_init()
4733 struct brcms_band *band; in brcms_c_bss_default_init() local
4747 band = wlc->band; in brcms_c_bss_default_init()
4749 band->bandunit != chspec_bandunit(chanspec)) in brcms_c_bss_default_init()
4750 band = wlc->bandstate[OTHERBANDUNIT(wlc)]; in brcms_c_bss_default_init()
4753 brcms_c_rateset_default(&bi->rateset, NULL, band->phytype, in brcms_c_bss_default_init()
4754 band->bandtype, false, BRCMS_RATE_MASK_FULL, in brcms_c_bss_default_init()
4765 struct brcms_band *band; in brcms_c_update_mimo_band_bwcap() local
4768 band = wlc->bandstate[i]; in brcms_c_update_mimo_band_bwcap()
4769 if (band->bandtype == BRCM_BAND_5G) { in brcms_c_update_mimo_band_bwcap()
4772 band->mimo_cap_40 = true; in brcms_c_update_mimo_band_bwcap()
4774 band->mimo_cap_40 = false; in brcms_c_update_mimo_band_bwcap()
4777 band->mimo_cap_40 = true; in brcms_c_update_mimo_band_bwcap()
4779 band->mimo_cap_40 = false; in brcms_c_update_mimo_band_bwcap()
4818 struct brcms_hw_band *band; in brcms_b_detach() local
4823 band = wlc_hw->band; in brcms_b_detach()
4825 if (band->pi) { in brcms_b_detach()
4827 wlc_phy_detach(band->pi); in brcms_b_detach()
4828 band->pi = NULL; in brcms_b_detach()
4830 band = wlc_hw->bandstate[OTHERBANDUNIT(wlc)]; in brcms_b_detach()
4912 wlc_phy_por_inform(wlc_hw->band->pi); in brcms_b_hw_up()
4968 wlc_phy_hw_state_upd(wlc_hw->band->pi, true); in brcms_b_up_finish()
5109 callbacks += wlc_phy_down(wlc_hw->band->pi); in brcms_b_bmac_down_prep()
5123 wlc_phy_hw_state_upd(wlc_hw->band->pi, false); in brcms_b_down_finish()
5130 wlc_phy_hw_clk_state_upd(wlc_hw->band->pi, false); in brcms_b_down_finish()
5200 wlc_phy_mute_upd(wlc->band->pi, false, PHY_MUTE_ALL); in brcms_c_down()
5221 struct brcms_band *band; in brcms_c_set_gmode() local
5230 if (wlc->band->bandtype == BRCM_BAND_2G) in brcms_c_set_gmode()
5231 band = wlc->band; in brcms_c_set_gmode()
5234 band = wlc->bandstate[OTHERBANDUNIT(wlc)]; in brcms_c_set_gmode()
5275 band->gmode = gmode; in brcms_c_set_gmode()
5341 bandunit = wlc->band->bandunit; in brcms_c_set_internal_rateset()
5373 wlc_phy_ofdm_rateset_war(wlc->band->pi, false); in brcms_c_ofdm_rateset_war()
5388 if (wlc->band->bandunit != chspec_bandunit(chspec)) in brcms_c_set_channel()
5397 if (wlc->pub->up && (wlc_phy_chanspec_get(wlc->band->pi) != chspec)) { in brcms_c_set_channel()
5512 return wlc->band->phytype; in brcms_c_get_phy_type()
5523 if (wlc->band->bandtype == BRCM_BAND_5G) in brcms_c_set_shortslot_override()
5739 sifs = get_sifs(wlc->band); in brcms_c_compute_frame_dur()
5769 if (wlc->band->bandtype == BRCM_BAND_2G) in brcms_c_calc_frame_len()
5803 static bool brcms_c_valid_rate(struct brcms_c_info *wlc, u32 rspec, int band, in brcms_c_valid_rate() argument
5809 if ((band == BRCM_BAND_AUTO) || (band == wlc->band->bandtype)) in brcms_c_valid_rate()
5810 hw_rateset = &wlc->band->hw_rateset; in brcms_c_valid_rate()
6075 sifs = get_sifs(wlc->band); in brcms_c_compute_rtscts_dur()
6107 if (BRCMS_ISLCNPHY(wlc->band)) { in brcms_c_phytxctl1_calc()
6126 } else if (is_cck_rate(rspec) && !BRCMS_ISLCNPHY(wlc->band) in brcms_c_phytxctl1_calc()
6127 && !BRCMS_ISSSLPNPHY(wlc->band)) { in brcms_c_phytxctl1_calc()
6258 hw->wiphy->bands[tx_info->band]->n_bitrates)) { in brcms_c_d11hdrs_mac80211()
6260 hw->wiphy->bands[tx_info->band]-> in brcms_c_d11hdrs_mac80211()
6266 rspec[k] = mac80211_wlc_set_nrate(wlc, wlc->band, in brcms_c_d11hdrs_mac80211()
6337 wlc->band->pi)) in brcms_c_d11hdrs_mac80211()
6418 if (BRCMS_ISNPHY(wlc->band) && is_ofdm_rate(rspec[k])) { in brcms_c_d11hdrs_mac80211()
6488 if (wlc->band->bandtype == BRCM_BAND_5G) in brcms_c_d11hdrs_mac80211()
6491 if (CHSPEC_IS40(wlc_phy_chanspec_get(wlc->band->pi))) in brcms_c_d11hdrs_mac80211()
6653 xfts |= CHSPEC_CHANNEL(wlc_phy_chanspec_get(wlc->band->pi)) << in brcms_c_d11hdrs_mac80211()
6670 if (BRCMS_PHY_11N_CAP(wlc->band)) { in brcms_c_d11hdrs_mac80211()
6902 else if (wlc->band->gmode && wlc->protection->_g && !is_cck_rate(rspec)) in brcms_c_rspec_to_rts_rspec()
6918 if (BRCMS_PHY_11N_CAP(wlc->band)) { in brcms_c_rspec_to_rts_rspec()
7015 rx_status->band = in prep_mac80211_status()
7018 ieee80211_channel_to_frequency(channel, rx_status->band); in prep_mac80211_status()
7020 rx_status->signal = wlc_phy_rssi_compute(wlc->hw->band->pi, rxh); in prep_mac80211_status()
7083 if (rx_status->band == NL80211_BAND_5GHZ) in prep_mac80211_status()
7199 sifs = get_sifs(wlc->band); in brcms_c_mod_prb_rsp_rate_table()
7490 wlc_phy_hold_upd(wlc->band->pi, PHY_HOLD_FOR_SCAN, true); in brcms_c_scan_start()
7495 wlc_phy_hold_upd(wlc->band->pi, PHY_HOLD_FOR_SCAN, false); in brcms_c_scan_stop()
7523 return wlc->band->bandunit; in brcms_c_get_curband()
7581 return wlc_phy_txpower_set(wlc->band->pi, qdbm, false); in brcms_c_set_tx_power()
7589 wlc_phy_txpower_get(wlc->band->pi, &qdbm, &override); in brcms_c_get_tx_power()
7764 wlc_phy_noise_sample_intr(wlc_hw->band->pi); in brcms_c_dpc()
7920 wlc->band = wlc->bandstate[0]; in brcms_c_attach()
7944 pub->phy_11ncapable = BRCMS_PHY_11N_CAP(wlc->band); in brcms_c_attach()
7953 if (BRCMS_ISNPHY(wlc->band) && (wlc->stf->txstreams == 1)) in brcms_c_attach()
7957 wlc_phy_stf_chain_init(wlc->band->pi, wlc->stf->hw_txchain, in brcms_c_attach()
7968 wlc->band = wlc->bandstate[j]; in brcms_c_attach()
7976 wlc->band->CWmin = APHY_CWMIN; in brcms_c_attach()
7977 wlc->band->CWmax = PHY_CWMAX; in brcms_c_attach()
7980 if (wlc->band->bandtype == BRCM_BAND_2G) { in brcms_c_attach()
7981 wlc->band->gmode = GMODE_AUTO; in brcms_c_attach()
7983 wlc->band->gmode); in brcms_c_attach()
7987 if (BRCMS_PHY_11N_CAP(wlc->band)) { in brcms_c_attach()
7996 brcms_default_rateset(wlc, &wlc->band->defrateset); in brcms_c_attach()
7999 brcms_c_rateset_filter(&wlc->band->defrateset, in brcms_c_attach()
8000 &wlc->band->hw_rateset, false, in brcms_c_attach()
8051 } else if (BRCMS_ISSSLPNPHY(wlc->band)) { in brcms_c_attach()