Lines Matching refs:ic

579 	struct ieee80211com *ic = &sc->sc_ic;
589 ic->ic_softc = sc;
590 ic->ic_name = device_get_nameunit(sc->sc_dev);
870 ic->ic_phytype = IEEE80211_T_OFDM;
871 ic->ic_opmode = IEEE80211_M_STA;
872 ic->ic_caps =
897 ic->ic_cryptocaps |= IEEE80211_CRYPTO_WEP;
899 ic->ic_cryptocaps |= IEEE80211_CRYPTO_AES_OCB;
901 ic->ic_cryptocaps |= IEEE80211_CRYPTO_AES_CCM;
903 ic->ic_cryptocaps |= IEEE80211_CRYPTO_CKIP;
905 ic->ic_cryptocaps |= IEEE80211_CRYPTO_TKIP;
912 ic->ic_cryptocaps |= IEEE80211_CRYPTO_TKIPMIC;
957 ic->ic_caps |= IEEE80211_C_TXPMGT;
964 ic->ic_caps |= IEEE80211_C_WME;
969 ic->ic_caps |= IEEE80211_C_BURST;
980 ic->ic_caps |= IEEE80211_C_FF;
983 ic->ic_caps |= IEEE80211_C_TURBOP;
986 ic->ic_caps |= IEEE80211_C_TDMA; /* capable of TDMA */
987 ic->ic_tdma_update = ath_tdma_update;
1075 ic->ic_htcaps = IEEE80211_HTC_HT /* HT operation */
1092 ic->ic_htcaps |= IEEE80211_HTCAP_SHORTGI20;
1096 ic->ic_htcaps |= IEEE80211_HTCAP_CHWIDTH40
1106 ic->ic_txstream = txs;
1107 ic->ic_rxstream = rxs;
1121 ic->ic_htcaps |= IEEE80211_HTCAP_RXSTBC_1STREAM;
1128 ic->ic_htcaps |= IEEE80211_HTCAP_TXSTBC;
1146 ic->ic_htcaps |= IEEE80211_HTCAP_LDPC;
1187 ic->ic_flags |= IEEE80211_F_DATAPAD;
1201 if (ath_fetch_mac_kenv(sc, ic->ic_macaddr) == 0) {
1203 ath_hal_setmac(ah, ic->ic_macaddr);
1205 ath_hal_getmac(ah, ic->ic_macaddr);
1212 ic->ic_max_keyix = sc->sc_keymax;
1214 ieee80211_ifattach(ic);
1215 ic->ic_setregdomain = ath_setregdomain;
1216 ic->ic_getradiocaps = ath_getradiocaps;
1220 ic->ic_ioctl = ath_ioctl;
1221 ic->ic_parent = ath_parent;
1222 ic->ic_transmit = ath_transmit;
1223 ic->ic_newassoc = ath_newassoc;
1224 ic->ic_updateslot = ath_updateslot;
1225 ic->ic_wme.wme_update = ath_wme_update;
1226 ic->ic_vap_create = ath_vap_create;
1227 ic->ic_vap_delete = ath_vap_delete;
1228 ic->ic_raw_xmit = ath_raw_xmit;
1229 ic->ic_update_mcast = ath_update_mcast;
1230 ic->ic_update_promisc = ath_update_promisc;
1231 ic->ic_node_alloc = ath_node_alloc;
1232 sc->sc_node_free = ic->ic_node_free;
1233 ic->ic_node_free = ath_node_free;
1234 sc->sc_node_cleanup = ic->ic_node_cleanup;
1235 ic->ic_node_cleanup = ath_node_cleanup;
1236 ic->ic_node_getsignal = ath_node_getsignal;
1237 ic->ic_scan_start = ath_scan_start;
1238 ic->ic_scan_end = ath_scan_end;
1239 ic->ic_set_channel = ath_set_channel;
1242 sc->sc_addba_request = ic->ic_addba_request;
1243 sc->sc_addba_response = ic->ic_addba_response;
1244 sc->sc_addba_stop = ic->ic_addba_stop;
1245 sc->sc_bar_response = ic->ic_bar_response;
1246 sc->sc_addba_response_timeout = ic->ic_addba_response_timeout;
1248 ic->ic_addba_request = ath_addba_request;
1249 ic->ic_addba_response = ath_addba_response;
1250 ic->ic_addba_response_timeout = ath_addba_response_timeout;
1251 ic->ic_addba_stop = ath_addba_stop;
1252 ic->ic_bar_response = ath_bar_response;
1254 ic->ic_update_chw = ath_update_chw;
1262 ieee80211_radiotap_attachv(ic,
1271 ieee80211_radiotap_attach(ic,
1299 ieee80211_announce(ic);
1446 ath_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ], int unit,
1451 struct ath_softc *sc = ic->ic_softc;
1506 if (sc->sc_nvaps != 0 && ic->ic_opmode != opmode) {
1513 ic_opmode = ic->ic_opmode;
1521 if (sc->sc_nvaps != 0 && ic->ic_opmode == IEEE80211_M_STA) {
1535 ic_opmode = ic->ic_opmode;
1558 error = ieee80211_vap_setup(ic, vap, name, unit, opmode, flags, bssid);
1638 ic->ic_opmode = ic_opmode;
1707 struct ieee80211com *ic = vap->iv_ic;
1708 struct ath_softc *sc = ic->ic_softc;
1827 struct ieee80211com *ic = &sc->sc_ic;
1829 sc->sc_resume_up = ic->ic_nrunning != 0;
1831 ieee80211_suspend_all(ic);
1870 struct ieee80211com *ic = &sc->sc_ic;
1880 ieee80211_crypto_reload_keys(ic);
1912 struct ieee80211com *ic = &sc->sc_ic;
1923 sc->sc_curchan != NULL ? sc->sc_curchan : ic->ic_curchan);
1935 sc->sc_curchan != NULL ? sc->sc_curchan : ic->ic_curchan,
1945 ath_dfs_radar_enable(sc, ic->ic_curchan);
1948 ath_spectral_enable(sc, ic->ic_curchan);
1953 ath_btcoex_enable(sc, ic->ic_curchan);
1969 ieee80211_resume_all(ic);
2119 struct ieee80211com *ic = &sc->sc_ic;
2121 TAILQ_FIRST(&ic->ic_vaps);
2424 struct ieee80211com *ic = &sc->sc_ic;
2426 if ((ic->ic_cryptocaps & IEEE80211_CRYPTO_TKIP) && !sc->sc_wmetkipmic) {
2427 if (ic->ic_flags & IEEE80211_F_WME) {
2429 ic->ic_cryptocaps &= ~IEEE80211_CRYPTO_TKIPMIC;
2432 ic->ic_cryptocaps |= IEEE80211_CRYPTO_TKIPMIC;
2440 struct ieee80211com *ic = &sc->sc_ic;
2467 ath_update_chainmasks(sc, ic->ic_curchan);
2471 if (!ath_hal_reset(ah, sc->sc_opmode, ic->ic_curchan, AH_FALSE,
2483 ath_chan_change(sc, ic->ic_curchan);
2486 ath_dfs_radar_enable(sc, ic->ic_curchan);
2489 ath_spectral_enable(sc, ic->ic_curchan);
2494 ath_btcoex_enable(sc, ic->ic_curchan);
2568 if (sc->sc_needmib && ic->ic_opmode == IEEE80211_M_STA)
2577 if (ic->ic_opmode == IEEE80211_M_STA)
2787 struct ieee80211com *ic = &sc->sc_ic;
2849 ath_update_chainmasks(sc, ic->ic_curchan);
2852 if (!ath_hal_reset(ah, sc->sc_opmode, ic->ic_curchan, AH_TRUE,
2865 ath_dfs_radar_enable(sc, ic->ic_curchan);
2868 ath_spectral_enable(sc, ic->ic_curchan);
2873 ath_btcoex_enable(sc, ic->ic_curchan);
2892 ath_chan_change(sc, ic->ic_curchan);
2970 struct ieee80211com *ic = vap->iv_ic;
2971 struct ath_softc *sc = ic->ic_softc;
2982 ath_hal_settxpowlimit(ah, ic->ic_txpowlimit);
3159 ath_transmit(struct ieee80211com *ic, struct mbuf *m)
3161 struct ath_softc *sc = ic->ic_softc;
3464 ath_update_promisc(struct ieee80211com *ic)
3466 struct ath_softc *sc = ic->ic_softc;
3488 struct ieee80211com *ic = &sc->sc_ic;
3492 if (ic->ic_allmulti == 0) {
3501 TAILQ_FOREACH(vap, &ic->ic_vaps, iv_next) {
3537 ath_update_mcast(struct ieee80211com *ic)
3539 struct ath_softc *sc = ic->ic_softc;
3555 struct ieee80211com *ic = &sc->sc_ic;
3567 ath_hal_setmac(ah, ic->ic_macaddr);
3579 struct ieee80211com *ic = &sc->sc_ic;
3583 if (IEEE80211_IS_CHAN_HALF(ic->ic_curchan))
3585 else if (IEEE80211_IS_CHAN_QUARTER(ic->ic_curchan))
3587 else if (IEEE80211_IS_CHAN_ANYG(ic->ic_curchan)) {
3590 if (ic->ic_flags & IEEE80211_F_SHSLOT)
3599 __func__, ic->ic_curchan->ic_freq, ic->ic_curchan->ic_flags,
3600 ic->ic_flags & IEEE80211_F_SHSLOT ? "short" : "long", usec);
3616 ath_updateslot(struct ieee80211com *ic)
3618 struct ath_softc *sc = ic->ic_softc;
3627 if (ic->ic_opmode == IEEE80211_M_HOSTAP ||
3628 ic->ic_opmode == IEEE80211_M_MBSS)
3749 struct ieee80211com *ic = vap->iv_ic;
3750 struct ath_softc *sc = ic->ic_softc;
3776 struct ieee80211com *ic = ni->ni_ic;
3777 struct ath_softc *sc = ic->ic_softc;
3791 struct ieee80211com *ic = ni->ni_ic;
3792 struct ath_softc *sc = ic->ic_softc;
3803 struct ieee80211com *ic = ni->ni_ic;
3804 struct ath_softc *sc = ic->ic_softc;
3807 *rssi = ic->ic_node_getrssi(ni);
3937 struct ieee80211com *ic = &sc->sc_ic;
3939 struct wmeParams *wmep = &ic->ic_wme.wme_chanParams.cap_wmeParams[ac];
4007 ath_wme_update(struct ieee80211com *ic)
4009 struct ath_softc *sc = ic->ic_softc;
4060 struct ieee80211com *ic = &sc->sc_ic;
4071 ic->ic_wme.wme_hipri_traffic++;
4261 struct ieee80211com *ic = &sc->sc_ic;
4388 ieee80211_ff_flush(ic, txq->axq_ac);
4850 struct ieee80211com *ic = &sc->sc_ic;
4865 ieee80211_dump_pkt(ic, mtod(bf->bf_m, const uint8_t *),
5084 struct ieee80211com *ic = &sc->sc_ic;
5112 __func__, ieee80211_chan2ieee(ic, chan),
5143 __func__, ieee80211_chan2ieee(ic, chan),
5165 ath_btcoex_enable(sc, ic->ic_curchan);
5235 struct ieee80211com *ic = &sc->sc_ic;
5251 if (ic->ic_flags & IEEE80211_F_SCAN) /* defer, off channel */
5359 ath_scan_start(struct ieee80211com *ic)
5361 struct ath_softc *sc = ic->ic_softc;
5384 ath_scan_end(struct ieee80211com *ic)
5386 struct ath_softc *sc = ic->ic_softc;
5424 ath_update_chw(struct ieee80211com *ic)
5426 struct ath_softc *sc = ic->ic_softc;
5429 ath_set_channel(ic);
5434 ath_set_channel(struct ieee80211com *ic)
5436 struct ath_softc *sc = ic->ic_softc;
5442 (void) ath_chan_set(sc, ic->ic_curchan);
5450 if (!sc->sc_scanning && ic->ic_curchan == ic->ic_bsschan)
5462 struct ieee80211com *ic = this->iv_ic;
5465 IEEE80211_LOCK_ASSERT(ic);
5467 TAILQ_FOREACH(vap, &ic->ic_vaps, iv_next) {
5477 struct ieee80211com *ic = vap->iv_ic;
5478 struct ath_softc *sc = ic->ic_softc;
5509 IEEE80211_LOCK_ASSERT(ic);
5600 IEEE80211_LOCK_ASSERT(ic);
5611 ni->ni_capinfo, ieee80211_chan2ieee(ic, ic->ic_curchan));
5896 ath_setregdomain(struct ieee80211com *ic, struct ieee80211_regdomain *reg,
5899 struct ath_softc *sc = ic->ic_softc;
5920 ath_getradiocaps(struct ieee80211com *ic,
5923 struct ath_softc *sc = ic->ic_softc;
5938 struct ieee80211com *ic = &sc->sc_ic;
5945 status = ath_hal_init_channels(ah, ic->ic_channels, IEEE80211_CHAN_MAX,
5946 &ic->ic_nchans, HAL_MODE_ALL, CTRY_DEFAULT, SKU_NONE, AH_TRUE);
5957 ic->ic_regdomain.regdomain = (uint16_t) sc->sc_eerd;
5958 ic->ic_regdomain.country = (uint16_t) sc->sc_eecc;
5959 ic->ic_regdomain.isocc[0] = ' '; /* XXX don't know */
5960 ic->ic_regdomain.isocc[1] = ' ';
5962 ic->ic_regdomain.ecm = 1;
5963 ic->ic_regdomain.location = 'I';
5968 ic->ic_regdomain.regdomain, ic->ic_regdomain.country,
5969 ic->ic_regdomain.location, ic->ic_regdomain.ecm ? " ecm" : "");
6098 struct ieee80211com *ic = &sc->sc_ic;
6115 counter_u64_add(ic->ic_oerrors, 1);
6135 ath_parent(struct ieee80211com *ic)
6137 struct ath_softc *sc = ic->ic_softc;
6141 if (ic->ic_nrunning > 0) {
6176 ieee80211_start_all(ic);
6218 struct ieee80211com *ic = &sc->sc_ic;
6232 IEEE80211_LOCK(ic);
6233 ieee80211_dfs_notify_radar(ic, sc->sc_curchan);
6234 IEEE80211_UNLOCK(ic);
6249 struct ieee80211com *ic = ni->ni_ic;
6250 struct ath_softc *sc = ic->ic_softc;
6316 struct ieee80211com *ic = ni->ni_ic;
6317 struct ath_softc *sc = ic->ic_softc;
6521 struct ieee80211com *ic = ni->ni_ic;
6522 struct ath_softc *sc = ic->ic_softc;