Lines Matching defs:ic
601 struct ieee80211com *ic = &sc->sc_ic;
611 ic->ic_softc = sc;
612 ic->ic_name = device_get_nameunit(sc->sc_dev);
904 ic->ic_phytype = IEEE80211_T_OFDM;
905 ic->ic_opmode = IEEE80211_M_STA;
906 ic->ic_caps =
931 ic->ic_cryptocaps |= IEEE80211_CRYPTO_WEP;
933 ic->ic_cryptocaps |= IEEE80211_CRYPTO_AES_OCB;
935 ic->ic_cryptocaps |= IEEE80211_CRYPTO_AES_CCM;
937 ic->ic_cryptocaps |= IEEE80211_CRYPTO_CKIP;
939 ic->ic_cryptocaps |= IEEE80211_CRYPTO_TKIP;
946 ic->ic_cryptocaps |= IEEE80211_CRYPTO_TKIPMIC;
991 ic->ic_caps |= IEEE80211_C_TXPMGT;
998 ic->ic_caps |= IEEE80211_C_WME;
1003 ic->ic_caps |= IEEE80211_C_BURST;
1049 ic->ic_caps |= IEEE80211_C_FF;
1052 ic->ic_caps |= IEEE80211_C_TURBOP;
1055 ic->ic_caps |= IEEE80211_C_TDMA; /* capable of TDMA */
1056 ic->ic_tdma_update = ath_tdma_update;
1155 ic->ic_htcaps = IEEE80211_HTC_HT /* HT operation */
1172 ic->ic_htcaps |= IEEE80211_HTCAP_SHORTGI20;
1176 ic->ic_htcaps |= IEEE80211_HTCAP_CHWIDTH40
1186 ic->ic_txstream = txs;
1187 ic->ic_rxstream = rxs;
1201 ic->ic_htcaps |= IEEE80211_HTCAP_RXSTBC_1STREAM;
1208 ic->ic_htcaps |= IEEE80211_HTCAP_TXSTBC;
1226 ic->ic_htcaps |= IEEE80211_HTCAP_LDPC |
1267 ic->ic_flags |= IEEE80211_F_DATAPAD;
1281 if (ath_fetch_mac_kenv(sc, ic->ic_macaddr) == 0) {
1283 ath_hal_setmac(ah, ic->ic_macaddr);
1285 ath_hal_getmac(ah, ic->ic_macaddr);
1292 ic->ic_max_keyix = sc->sc_keymax;
1294 ieee80211_ifattach(ic);
1295 ic->ic_setregdomain = ath_setregdomain;
1296 ic->ic_getradiocaps = ath_getradiocaps;
1300 ic->ic_ioctl = ath_ioctl;
1301 ic->ic_parent = ath_parent;
1302 ic->ic_transmit = ath_transmit;
1303 ic->ic_newassoc = ath_newassoc;
1304 ic->ic_updateslot = ath_updateslot;
1305 ic->ic_wme.wme_update = ath_wme_update;
1306 ic->ic_vap_create = ath_vap_create;
1307 ic->ic_vap_delete = ath_vap_delete;
1308 ic->ic_raw_xmit = ath_raw_xmit;
1309 ic->ic_update_mcast = ath_update_mcast;
1310 ic->ic_update_promisc = ath_update_promisc;
1311 ic->ic_node_alloc = ath_node_alloc;
1312 sc->sc_node_free = ic->ic_node_free;
1313 ic->ic_node_free = ath_node_free;
1314 sc->sc_node_cleanup = ic->ic_node_cleanup;
1315 ic->ic_node_cleanup = ath_node_cleanup;
1316 ic->ic_node_getsignal = ath_node_getsignal;
1317 ic->ic_scan_start = ath_scan_start;
1318 ic->ic_scan_end = ath_scan_end;
1319 ic->ic_set_channel = ath_set_channel;
1322 sc->sc_addba_request = ic->ic_addba_request;
1323 sc->sc_addba_response = ic->ic_addba_response;
1324 sc->sc_addba_stop = ic->ic_addba_stop;
1325 sc->sc_bar_response = ic->ic_bar_response;
1326 sc->sc_addba_response_timeout = ic->ic_addba_response_timeout;
1328 ic->ic_addba_request = ath_addba_request;
1329 ic->ic_addba_response = ath_addba_response;
1330 ic->ic_addba_response_timeout = ath_addba_response_timeout;
1331 ic->ic_addba_stop = ath_addba_stop;
1332 ic->ic_bar_response = ath_bar_response;
1334 ic->ic_update_chw = ath_update_chw;
1336 ic->ic_set_quiet = ath_set_quiet_ie;
1343 ieee80211_radiotap_attachv(ic,
1352 ieee80211_radiotap_attach(ic,
1380 ieee80211_announce(ic);
1528 ath_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ], int unit,
1533 struct ath_softc *sc = ic->ic_softc;
1588 if (sc->sc_nvaps != 0 && ic->ic_opmode != opmode) {
1595 ic_opmode = ic->ic_opmode;
1603 if (sc->sc_nvaps != 0 && ic->ic_opmode == IEEE80211_M_STA) {
1617 ic_opmode = ic->ic_opmode;
1640 error = ieee80211_vap_setup(ic, vap, name, unit, opmode, flags, bssid);
1721 ic->ic_opmode = ic_opmode;
1790 struct ieee80211com *ic = vap->iv_ic;
1791 struct ath_softc *sc = ic->ic_softc;
1912 struct ieee80211com *ic = &sc->sc_ic;
1914 sc->sc_resume_up = ic->ic_nrunning != 0;
1916 ieee80211_suspend_all(ic);
1955 struct ieee80211com *ic = &sc->sc_ic;
1965 ieee80211_crypto_reload_keys(ic);
1997 struct ieee80211com *ic = &sc->sc_ic;
2008 sc->sc_curchan != NULL ? sc->sc_curchan : ic->ic_curchan);
2020 sc->sc_curchan != NULL ? sc->sc_curchan : ic->ic_curchan,
2030 ath_dfs_radar_enable(sc, ic->ic_curchan);
2033 ath_spectral_enable(sc, ic->ic_curchan);
2038 ath_btcoex_enable(sc, ic->ic_curchan);
2054 ieee80211_resume_all(ic);
2204 struct ieee80211com *ic = &sc->sc_ic;
2206 TAILQ_FIRST(&ic->ic_vaps);
2564 struct ieee80211com *ic = &sc->sc_ic;
2566 if ((ic->ic_cryptocaps & IEEE80211_CRYPTO_TKIP) && !sc->sc_wmetkipmic) {
2567 if (ic->ic_flags & IEEE80211_F_WME) {
2569 ic->ic_cryptocaps &= ~IEEE80211_CRYPTO_TKIPMIC;
2572 ic->ic_cryptocaps |= IEEE80211_CRYPTO_TKIPMIC;
2580 struct ieee80211com *ic = &sc->sc_ic;
2584 TAILQ_FOREACH(vap, &ic->ic_vaps, iv_next) {
2594 struct ieee80211com *ic = &sc->sc_ic;
2621 ath_update_chainmasks(sc, ic->ic_curchan);
2625 if (!ath_hal_reset(ah, sc->sc_opmode, ic->ic_curchan, AH_FALSE,
2640 ath_chan_change(sc, ic->ic_curchan);
2643 ath_dfs_radar_enable(sc, ic->ic_curchan);
2646 ath_spectral_enable(sc, ic->ic_curchan);
2651 ath_btcoex_enable(sc, ic->ic_curchan);
2725 if (sc->sc_needmib && ic->ic_opmode == IEEE80211_M_STA)
2734 if (ic->ic_opmode == IEEE80211_M_STA)
2945 struct ieee80211com *ic = &sc->sc_ic;
3007 ath_update_chainmasks(sc, ic->ic_curchan);
3010 if (!ath_hal_reset(ah, sc->sc_opmode, ic->ic_curchan, AH_TRUE,
3026 ath_dfs_radar_enable(sc, ic->ic_curchan);
3029 ath_spectral_enable(sc, ic->ic_curchan);
3034 ath_btcoex_enable(sc, ic->ic_curchan);
3053 ath_chan_change(sc, ic->ic_curchan);
3131 struct ieee80211com *ic = vap->iv_ic;
3132 struct ath_softc *sc = ic->ic_softc;
3143 ath_hal_settxpowlimit(ah, ic->ic_txpowlimit);
3320 ath_transmit(struct ieee80211com *ic, struct mbuf *m)
3322 struct ath_softc *sc = ic->ic_softc;
3617 ath_update_promisc(struct ieee80211com *ic)
3619 struct ath_softc *sc = ic->ic_softc;
3660 struct ieee80211com *ic = &sc->sc_ic;
3664 if (ic->ic_allmulti == 0) {
3671 TAILQ_FOREACH(vap, &ic->ic_vaps, iv_next)
3687 ath_update_mcast(struct ieee80211com *ic)
3689 struct ath_softc *sc = ic->ic_softc;
3705 struct ieee80211com *ic = &sc->sc_ic;
3719 ath_hal_setmac(ah, ic->ic_macaddr);
3731 struct ieee80211com *ic = &sc->sc_ic;
3735 if (IEEE80211_IS_CHAN_HALF(ic->ic_curchan))
3737 else if (IEEE80211_IS_CHAN_QUARTER(ic->ic_curchan))
3739 else if (IEEE80211_IS_CHAN_ANYG(ic->ic_curchan)) {
3742 if (ic->ic_flags & IEEE80211_F_SHSLOT)
3751 __func__, ic->ic_curchan->ic_freq, ic->ic_curchan->ic_flags,
3752 ic->ic_flags & IEEE80211_F_SHSLOT ? "short" : "long", usec);
3768 ath_updateslot(struct ieee80211com *ic)
3770 struct ath_softc *sc = ic->ic_softc;
3779 if (ic->ic_opmode == IEEE80211_M_HOSTAP ||
3780 ic->ic_opmode == IEEE80211_M_MBSS)
3901 struct ieee80211com *ic = vap->iv_ic;
3902 struct ath_softc *sc = ic->ic_softc;
3932 struct ieee80211com *ic = ni->ni_ic;
3933 struct ath_softc *sc = ic->ic_softc;
3947 struct ieee80211com *ic = ni->ni_ic;
3948 struct ath_softc *sc = ic->ic_softc;
3959 struct ieee80211com *ic = ni->ni_ic;
3960 struct ath_softc *sc = ic->ic_softc;
3963 *rssi = ic->ic_node_getrssi(ni);
4093 struct ieee80211com *ic = &sc->sc_ic;
4100 ieee80211_wme_ic_getparams(ic, &chp);
4167 ath_wme_update(struct ieee80211com *ic)
4169 struct ath_softc *sc = ic->ic_softc;
4220 struct ieee80211com *ic = &sc->sc_ic;
4238 ic->ic_wme.wme_hipri_traffic++;
4439 struct ieee80211com *ic = &sc->sc_ic;
4568 ieee80211_ff_flush(ic, txq->axq_ac);
5030 struct ieee80211com *ic = &sc->sc_ic;
5045 ieee80211_dump_pkt(ic, mtod(bf->bf_m, const uint8_t *),
5264 struct ieee80211com *ic = &sc->sc_ic;
5292 __func__, ieee80211_chan2ieee(ic, chan),
5323 __func__, ieee80211_chan2ieee(ic, chan),
5348 ath_btcoex_enable(sc, ic->ic_curchan);
5418 struct ieee80211com *ic = &sc->sc_ic;
5434 if (ic->ic_flags & IEEE80211_F_SCAN) /* defer, off channel */
5556 ath_scan_start(struct ieee80211com *ic)
5558 struct ath_softc *sc = ic->ic_softc;
5581 ath_scan_end(struct ieee80211com *ic)
5583 struct ath_softc *sc = ic->ic_softc;
5621 ath_update_chw(struct ieee80211com *ic)
5623 struct ath_softc *sc = ic->ic_softc;
5635 ath_set_channel(ic);
5675 struct ieee80211com *ic = vap->iv_ic;
5676 struct ath_softc *sc = ic->ic_softc;
5774 ath_set_channel(struct ieee80211com *ic)
5776 struct ath_softc *sc = ic->ic_softc;
5782 (void) ath_chan_set(sc, ic->ic_curchan);
5790 if (!sc->sc_scanning && ic->ic_curchan == ic->ic_bsschan)
5802 struct ieee80211com *ic = this->iv_ic;
5805 IEEE80211_LOCK_ASSERT(ic);
5807 TAILQ_FOREACH(vap, &ic->ic_vaps, iv_next) {
5817 struct ieee80211com *ic = vap->iv_ic;
5818 struct ath_softc *sc = ic->ic_softc;
5849 IEEE80211_LOCK_ASSERT(ic);
5940 IEEE80211_LOCK_ASSERT(ic);
6001 ni->ni_capinfo, ieee80211_chan2ieee(ic, ic->ic_curchan));
6352 ath_setregdomain(struct ieee80211com *ic, struct ieee80211_regdomain *reg,
6355 struct ath_softc *sc = ic->ic_softc;
6376 ath_getradiocaps(struct ieee80211com *ic,
6379 struct ath_softc *sc = ic->ic_softc;
6394 struct ieee80211com *ic = &sc->sc_ic;
6401 status = ath_hal_init_channels(ah, ic->ic_channels, IEEE80211_CHAN_MAX,
6402 &ic->ic_nchans, HAL_MODE_ALL, CTRY_DEFAULT, SKU_NONE, AH_TRUE);
6413 ic->ic_regdomain.regdomain = (uint16_t) sc->sc_eerd;
6414 ic->ic_regdomain.country = (uint16_t) sc->sc_eecc;
6415 ic->ic_regdomain.isocc[0] = ' '; /* XXX don't know */
6416 ic->ic_regdomain.isocc[1] = ' ';
6418 ic->ic_regdomain.ecm = 1;
6419 ic->ic_regdomain.location = 'I';
6424 ic->ic_regdomain.regdomain, ic->ic_regdomain.country,
6425 ic->ic_regdomain.location, ic->ic_regdomain.ecm ? " ecm" : "");
6554 struct ieee80211com *ic = &sc->sc_ic;
6571 counter_u64_add(ic->ic_oerrors, 1);
6591 ath_parent(struct ieee80211com *ic)
6593 struct ath_softc *sc = ic->ic_softc;
6597 if (ic->ic_nrunning > 0) {
6632 ieee80211_start_all(ic);
6674 struct ieee80211com *ic = &sc->sc_ic;
6697 IEEE80211_LOCK(ic);
6698 ieee80211_dfs_notify_radar(ic, sc->sc_curchan);
6699 IEEE80211_UNLOCK(ic);
6714 struct ieee80211com *ic = ni->ni_ic;
6715 struct ath_softc *sc = ic->ic_softc;
6781 struct ieee80211com *ic = ni->ni_ic;
6782 struct ath_softc *sc = ic->ic_softc;
6986 struct ieee80211com *ic = ni->ni_ic;
6987 struct ath_softc *sc = ic->ic_softc;