Lines Matching refs:ah
212 struct ath_hw *ah = sc->sc_ah; in ath_prepare_reset() local
217 ath9k_hw_disable_interrupts(ah); in ath_prepare_reset()
219 if (AR_SREV_9300_20_OR_LATER(ah)) { in ath_prepare_reset()
232 struct ath_hw *ah = sc->sc_ah; in ath_complete_reset() local
233 struct ath_common *common = ath9k_hw_common(ah); in ath_complete_reset()
238 ath9k_cmn_update_txpow(ah, sc->cur_chan->cur_txpower, in ath_complete_reset()
250 ath9k_hw_settsf64(ah, sc->cur_chan->tsf_val + offset); in ath_complete_reset()
257 if (ah->opmode == NL80211_IFTYPE_STATION && in ath_complete_reset()
272 ath9k_hw_set_interrupts(ah); in ath_complete_reset()
273 ath9k_hw_enable_interrupts(ah); in ath_complete_reset()
282 struct ath_hw *ah = sc->sc_ah; in ath_reset_internal() local
283 struct ath_common *common = ath9k_hw_common(ah); in ath_reset_internal()
302 hchan = ah->curchan; in ath_reset_internal()
318 r = ath9k_hw_reset(ah, hchan, caldata, fastcc); in ath_reset_internal()
323 ath9k_hw_enable_interrupts(ah); in ath_reset_internal()
372 struct ath_hw *ah = sc->sc_ah; in ath9k_tasklet() local
373 struct ath_common *common = ath9k_hw_common(ah); in ath9k_tasklet()
390 atomic_inc(&ah->intr_ref_cnt); in ath9k_tasklet()
395 if ((ah->config.hw_hang_checks & HW_BB_WATCHDOG) && in ath9k_tasklet()
399 ar9003_hw_bb_watchdog_dbg_info(ah); in ath9k_tasklet()
402 if (ar9003_hw_bb_watchdog_check(ah)) { in ath9k_tasklet()
410 atomic_inc(&ah->intr_ref_cnt); in ath9k_tasklet()
420 if ((sc->gtt_cnt >= MAX_GTT_CNT) && !ath9k_hw_check_alive(ah)) { in ath9k_tasklet()
423 atomic_inc(&ah->intr_ref_cnt); in ath9k_tasklet()
441 if (ah->caps.hw_caps & ATH9K_HW_CAP_EDMA) in ath9k_tasklet()
449 if ((ah->caps.hw_caps & ATH9K_HW_CAP_EDMA) && in ath9k_tasklet()
457 if (ah->caps.hw_caps & ATH9K_HW_CAP_EDMA) { in ath9k_tasklet()
480 ath9k_hw_enable_interrupts(ah); in ath9k_tasklet()
505 struct ath_hw *ah = sc->sc_ah; in ath_isr() local
506 struct ath_common *common = ath9k_hw_common(ah); in ath_isr()
516 if (!ah || test_bit(ATH_OP_INVALID, &common->op_flags)) in ath_isr()
520 if (!ath9k_hw_intrpend(ah)) in ath_isr()
529 ath9k_hw_getisr(ah, &status, &sync_cause); /* NB: clears ISR too */ in ath_isr()
531 status &= ah->imask; /* discard unasked-for bits */ in ath_isr()
556 if ((ah->config.hw_hang_checks & HW_BB_WATCHDOG) && in ath_isr()
564 ath9k_hw_updatetxtriglevel(ah, true); in ath_isr()
567 ah->imask &= ~(ATH9K_INT_RXEOL | ATH9K_INT_RXORN); in ath_isr()
568 ath9k_hw_set_interrupts(ah); in ath_isr()
571 if (!(ah->caps.hw_caps & ATH9K_HW_CAP_AUTOSLEEP)) in ath_isr()
590 ath9k_hw_disable_interrupts(ah); in ath_isr()
650 struct ath_hw *ah = sc->sc_ah; in ath9k_start() local
651 struct ath_common *common = ath9k_hw_common(ah); in ath9k_start()
664 init_channel = ath9k_cmn_get_channel(hw, ah, &ctx->chandef); in ath9k_start()
668 ath9k_hw_configpcipowersave(ah, false); in ath9k_start()
679 atomic_set(&ah->intr_ref_cnt, -1); in ath9k_start()
681 r = ath9k_hw_reset(ah, init_channel, ah->caldata, false); in ath9k_start()
686 ah->reset_power_on = false; in ath9k_start()
690 ah->imask = ATH9K_INT_TX | ATH9K_INT_RXEOL | in ath9k_start()
694 if (ah->caps.hw_caps & ATH9K_HW_CAP_EDMA) in ath9k_start()
695 ah->imask |= ATH9K_INT_RXHP | in ath9k_start()
698 ah->imask |= ATH9K_INT_RX; in ath9k_start()
700 if (ah->config.hw_hang_checks & HW_BB_WATCHDOG) in ath9k_start()
701 ah->imask |= ATH9K_INT_BB_WATCHDOG; in ath9k_start()
707 if (AR_SREV_9300_20_OR_LATER(ah)) in ath9k_start()
708 ah->imask |= ATH9K_INT_GTT; in ath9k_start()
710 if (ah->caps.hw_caps & ATH9K_HW_CAP_HT) in ath9k_start()
711 ah->imask |= ATH9K_INT_CST; in ath9k_start()
719 ah->reset_power_on = false; in ath9k_start()
721 if (ah->led_pin >= 0) { in ath9k_start()
722 ath9k_hw_cfg_output(ah, ah->led_pin, in ath9k_start()
724 ath9k_hw_set_gpio(ah, ah->led_pin, in ath9k_start()
725 (ah->config.led_active_high) ? 1 : 0); in ath9k_start()
734 ath9k_hw_reset_tsf(ah); in ath9k_start()
825 struct ath_hw *ah = sc->sc_ah; in ath9k_stop() local
826 struct ath_common *common = ath9k_hw_common(ah); in ath9k_stop()
847 ah->imask &= ~ATH9K_INT_GLOBAL; in ath9k_stop()
851 ath9k_hw_disable_interrupts(ah); in ath9k_stop()
866 if (ah->led_pin >= 0) { in ath9k_stop()
867 ath9k_hw_set_gpio(ah, ah->led_pin, in ath9k_stop()
868 (ah->config.led_active_high) ? 0 : 1); in ath9k_stop()
869 ath9k_hw_cfg_gpio_input(ah, ah->led_pin); in ath9k_stop()
879 if (!ah->curchan) in ath9k_stop()
880 ah->curchan = ath9k_cmn_get_channel(hw, ah, in ath9k_stop()
883 ath9k_hw_reset(ah, ah->curchan, ah->caldata, false); in ath9k_stop()
887 ath9k_hw_phy_disable(ah); in ath9k_stop()
889 ath9k_hw_configpcipowersave(ah, true); in ath9k_stop()
1044 struct ath_hw *ah = sc->sc_ah; in ath9k_set_offchannel_state() local
1045 struct ath_common *common = ath9k_hw_common(ah); in ath9k_set_offchannel_state()
1062 ah->opmode = vif->type; in ath9k_set_offchannel_state()
1063 ah->imask &= ~ATH9K_INT_SWBA; in ath9k_set_offchannel_state()
1064 ah->imask &= ~ATH9K_INT_TSFOOR; in ath9k_set_offchannel_state()
1065 ah->slottime = ATH9K_SLOT_TIME_9; in ath9k_set_offchannel_state()
1068 ath9k_hw_setopmode(ah); in ath9k_set_offchannel_state()
1070 ath9k_hw_set_interrupts(ah); in ath9k_set_offchannel_state()
1071 ath9k_hw_init_global_settings(ah); in ath9k_set_offchannel_state()
1082 struct ath_hw *ah = sc->sc_ah; in ath9k_calculate_summary_state() local
1083 struct ath_common *common = ath9k_hw_common(ah); in ath9k_calculate_summary_state()
1108 ath9k_hw_set_tsfadjust(ah, true); in ath9k_calculate_summary_state()
1109 ah->opmode = NL80211_IFTYPE_AP; in ath9k_calculate_summary_state()
1113 ath9k_hw_set_tsfadjust(ah, false); in ath9k_calculate_summary_state()
1116 ah->opmode = NL80211_IFTYPE_MESH_POINT; in ath9k_calculate_summary_state()
1118 ah->opmode = NL80211_IFTYPE_OCB; in ath9k_calculate_summary_state()
1120 ah->opmode = NL80211_IFTYPE_AP; in ath9k_calculate_summary_state()
1122 ah->opmode = NL80211_IFTYPE_ADHOC; in ath9k_calculate_summary_state()
1124 ah->opmode = NL80211_IFTYPE_STATION; in ath9k_calculate_summary_state()
1127 ath9k_hw_setopmode(ah); in ath9k_calculate_summary_state()
1131 ah->imask |= ATH9K_INT_TSFOOR; in ath9k_calculate_summary_state()
1133 ah->imask &= ~ATH9K_INT_TSFOOR; in ath9k_calculate_summary_state()
1138 ah->imask &= ~ATH9K_INT_SWBA; in ath9k_calculate_summary_state()
1139 if (ah->opmode == NL80211_IFTYPE_STATION) { in ath9k_calculate_summary_state()
1156 ah->imask |= ATH9K_INT_SWBA; in ath9k_calculate_summary_state()
1158 ath9k_hw_set_interrupts(ah); in ath9k_calculate_summary_state()
1165 if (ah->slottime != iter_data.slottime) { in ath9k_calculate_summary_state()
1166 ah->slottime = iter_data.slottime; in ath9k_calculate_summary_state()
1167 ath9k_hw_init_global_settings(ah); in ath9k_calculate_summary_state()
1194 struct ath_hw *ah = sc->sc_ah; in ath9k_set_txpower() local
1195 struct ath_regulatory *reg = ath9k_hw_regulatory(ah); in ath9k_set_txpower()
1198 if (ah->tpc_enabled) { in ath9k_set_txpower()
1209 ath9k_hw_set_txpowerlimit(ah, sc->cur_chan->txpower, false); in ath9k_set_txpower()
1236 struct ath_hw *ah = sc->sc_ah; in ath9k_add_interface() local
1237 struct ath_common *common = ath9k_hw_common(ah); in ath9k_add_interface()
1347 struct ath_hw *ah = sc->sc_ah; in ath9k_enable_ps() local
1348 struct ath_common *common = ath9k_hw_common(ah); in ath9k_enable_ps()
1354 if (!(ah->caps.hw_caps & ATH9K_HW_CAP_AUTOSLEEP)) { in ath9k_enable_ps()
1355 if ((ah->imask & ATH9K_INT_TIM_TIMER) == 0) { in ath9k_enable_ps()
1356 ah->imask |= ATH9K_INT_TIM_TIMER; in ath9k_enable_ps()
1357 ath9k_hw_set_interrupts(ah); in ath9k_enable_ps()
1359 ath9k_hw_setrxabort(ah, 1); in ath9k_enable_ps()
1366 struct ath_hw *ah = sc->sc_ah; in ath9k_disable_ps() local
1367 struct ath_common *common = ath9k_hw_common(ah); in ath9k_disable_ps()
1373 ath9k_hw_setpower(ah, ATH9K_PM_AWAKE); in ath9k_disable_ps()
1374 if (!(ah->caps.hw_caps & ATH9K_HW_CAP_AUTOSLEEP)) { in ath9k_disable_ps()
1375 ath9k_hw_setrxabort(ah, 0); in ath9k_disable_ps()
1380 if (ah->imask & ATH9K_INT_TIM_TIMER) { in ath9k_disable_ps()
1381 ah->imask &= ~ATH9K_INT_TIM_TIMER; in ath9k_disable_ps()
1382 ath9k_hw_set_interrupts(ah); in ath9k_disable_ps()
1391 struct ath_hw *ah = sc->sc_ah; in ath9k_config() local
1392 struct ath_common *common = ath9k_hw_common(ah); in ath9k_config()
1577 static void ath9k_sta_set_tx_filter(struct ath_hw *ah, in ath9k_sta_set_tx_filter() argument
1586 ath9k_hw_set_tx_filter(ah, an->key_idx[i], set); in ath9k_sta_set_tx_filter()
1749 struct ath_hw *ah = sc->sc_ah; in ath9k_bss_info_changed() local
1750 struct ath_common *common = ath9k_hw_common(ah); in ath9k_bss_info_changed()
1798 ah->slottime = slottime; in ath9k_bss_info_changed()
1799 ath9k_hw_init_global_settings(ah); in ath9k_bss_info_changed()
1959 struct ath_hw *ah = sc->sc_ah; in ath9k_enable_dynack() local
1961 ath_dynack_reset(ah); in ath9k_enable_dynack()
1963 ah->dynack.enabled = true; in ath9k_enable_dynack()
1965 ath9k_hw_setrxfilter(ah, rfilt); in ath9k_enable_dynack()
1973 struct ath_hw *ah = sc->sc_ah; in ath9k_set_coverage_class() local
1981 ah->coverage_class = coverage_class; in ath9k_set_coverage_class()
1982 if (ah->dynack.enabled) { in ath9k_set_coverage_class()
1985 ah->dynack.enabled = false; in ath9k_set_coverage_class()
1987 ath9k_hw_setrxfilter(ah, rfilt); in ath9k_set_coverage_class()
1990 ath9k_hw_init_global_settings(ah); in ath9k_set_coverage_class()
1992 } else if (!ah->dynack.enabled) { in ath9k_set_coverage_class()
2050 struct ath_hw *ah = sc->sc_ah; in __ath9k_flush() local
2051 struct ath_common *common = ath9k_hw_common(ah); in __ath9k_flush()
2057 if (ah->ah_flags & AH_UNPLUGGED) { in __ath9k_flush()
2106 struct ath_hw *ah = sc->sc_ah; in ath9k_tx_last_beacon() local
2111 bool edma = !!(ah->caps.hw_caps & ATH9K_HW_CAP_EDMA); in ath9k_tx_last_beacon()
2130 status = ath9k_hw_txprocdesc(ah, bf->bf_desc, &ts); in ath9k_tx_last_beacon()
2148 struct ath_hw *ah = sc->sc_ah; in ath9k_get_stats() local
2149 struct ath9k_mib_stats *mib_stats = &ah->ah_mibStats; in ath9k_get_stats()
2176 static bool validate_antenna_mask(struct ath_hw *ah, u32 val) in validate_antenna_mask() argument
2178 if (AR_SREV_9300_20_OR_LATER(ah)) in validate_antenna_mask()
2187 return (ah->caps.rx_chainmask == 1); in validate_antenna_mask()
2196 struct ath_hw *ah = sc->sc_ah; in ath9k_set_antenna() local
2198 if (ah->caps.rx_chainmask != 1) in ath9k_set_antenna()
2201 if (!validate_antenna_mask(ah, rx_ant) || !tx_ant) in ath9k_set_antenna()
2207 if (ah->caps.rx_chainmask == 1) in ath9k_set_antenna()
2211 if (AR_SREV_9100(ah)) in ath9k_set_antenna()
2212 ah->rxchainmask = 0x7; in ath9k_set_antenna()
2214 ah->rxchainmask = fill_chainmask(ah->caps.rx_chainmask, rx_ant); in ath9k_set_antenna()
2216 ah->txchainmask = fill_chainmask(ah->caps.tx_chainmask, tx_ant); in ath9k_set_antenna()
2217 ath9k_cmn_reload_chainmask(ah); in ath9k_set_antenna()