Lines Matching refs:ar
44 int carl9170_set_dyn_sifs_ack(struct ar9170 *ar) in carl9170_set_dyn_sifs_ack() argument
48 if (conf_is_ht40(&ar->hw->conf)) in carl9170_set_dyn_sifs_ack()
51 if (ar->hw->conf.chandef.chan->band == NL80211_BAND_2GHZ) in carl9170_set_dyn_sifs_ack()
57 return carl9170_write_reg(ar, AR9170_MAC_REG_DYNAMIC_SIFS_ACK, val); in carl9170_set_dyn_sifs_ack()
60 int carl9170_set_rts_cts_rate(struct ar9170 *ar) in carl9170_set_rts_cts_rate() argument
64 if (conf_is_ht(&ar->hw->conf)) { in carl9170_set_rts_cts_rate()
69 if (ar->hw->conf.chandef.chan->band == NL80211_BAND_2GHZ) { in carl9170_set_rts_cts_rate()
80 return carl9170_write_reg(ar, AR9170_MAC_REG_RTS_CTS_RATE, in carl9170_set_rts_cts_rate()
84 int carl9170_set_slot_time(struct ar9170 *ar) in carl9170_set_slot_time() argument
90 vif = carl9170_get_main_vif(ar); in carl9170_set_slot_time()
96 if ((ar->hw->conf.chandef.chan->band == NL80211_BAND_5GHZ) || in carl9170_set_slot_time()
102 return carl9170_write_reg(ar, AR9170_MAC_REG_SLOT_TIME, in carl9170_set_slot_time()
106 int carl9170_set_mac_rates(struct ar9170 *ar) in carl9170_set_mac_rates() argument
112 vif = carl9170_get_main_vif(ar); in carl9170_set_mac_rates()
123 if (ar->hw->conf.chandef.chan->band == NL80211_BAND_5GHZ) in carl9170_set_mac_rates()
128 carl9170_regwrite_begin(ar); in carl9170_set_mac_rates()
136 int carl9170_set_qos(struct ar9170 *ar) in carl9170_set_qos() argument
138 carl9170_regwrite_begin(ar); in carl9170_set_qos()
140 carl9170_regwrite(AR9170_MAC_REG_AC0_CW, ar->edcf[0].cw_min | in carl9170_set_qos()
141 (ar->edcf[0].cw_max << 16)); in carl9170_set_qos()
142 carl9170_regwrite(AR9170_MAC_REG_AC1_CW, ar->edcf[1].cw_min | in carl9170_set_qos()
143 (ar->edcf[1].cw_max << 16)); in carl9170_set_qos()
144 carl9170_regwrite(AR9170_MAC_REG_AC2_CW, ar->edcf[2].cw_min | in carl9170_set_qos()
145 (ar->edcf[2].cw_max << 16)); in carl9170_set_qos()
146 carl9170_regwrite(AR9170_MAC_REG_AC3_CW, ar->edcf[3].cw_min | in carl9170_set_qos()
147 (ar->edcf[3].cw_max << 16)); in carl9170_set_qos()
148 carl9170_regwrite(AR9170_MAC_REG_AC4_CW, ar->edcf[4].cw_min | in carl9170_set_qos()
149 (ar->edcf[4].cw_max << 16)); in carl9170_set_qos()
152 ((ar->edcf[0].aifs * 9 + 10)) | in carl9170_set_qos()
153 ((ar->edcf[1].aifs * 9 + 10) << 12) | in carl9170_set_qos()
154 ((ar->edcf[2].aifs * 9 + 10) << 24)); in carl9170_set_qos()
156 ((ar->edcf[2].aifs * 9 + 10) >> 8) | in carl9170_set_qos()
157 ((ar->edcf[3].aifs * 9 + 10) << 4) | in carl9170_set_qos()
158 ((ar->edcf[4].aifs * 9 + 10) << 16)); in carl9170_set_qos()
161 ar->edcf[0].txop | ar->edcf[1].txop << 16); in carl9170_set_qos()
163 ar->edcf[2].txop | ar->edcf[3].txop << 16 | in carl9170_set_qos()
164 ar->edcf[4].txop << 24); in carl9170_set_qos()
171 int carl9170_init_mac(struct ar9170 *ar) in carl9170_init_mac() argument
173 carl9170_regwrite_begin(ar); in carl9170_init_mac()
257 static int carl9170_set_mac_reg(struct ar9170 *ar, in carl9170_set_mac_reg() argument
265 carl9170_regwrite_begin(ar); in carl9170_set_mac_reg()
275 int carl9170_mod_virtual_mac(struct ar9170 *ar, const unsigned int id, in carl9170_mod_virtual_mac() argument
278 if (WARN_ON(id >= ar->fw.vif_num)) in carl9170_mod_virtual_mac()
281 return carl9170_set_mac_reg(ar, in carl9170_mod_virtual_mac()
285 int carl9170_update_multicast(struct ar9170 *ar, const u64 mc_hash) in carl9170_update_multicast() argument
289 carl9170_regwrite_begin(ar); in carl9170_update_multicast()
297 ar->cur_mc_hash = mc_hash; in carl9170_update_multicast()
301 int carl9170_set_operating_mode(struct ar9170 *ar) in carl9170_set_operating_mode() argument
304 struct ath_common *common = &ar->common; in carl9170_set_operating_mode()
315 vif = carl9170_get_main_vif(ar); in carl9170_set_operating_mode()
367 if (ar->rx_software_decryption) in carl9170_set_operating_mode()
370 if (ar->sniffer_enabled) { in carl9170_set_operating_mode()
374 err = carl9170_set_mac_reg(ar, AR9170_MAC_REG_MAC_ADDR_L, mac_addr); in carl9170_set_operating_mode()
378 err = carl9170_set_mac_reg(ar, AR9170_MAC_REG_BSSID_L, bssid); in carl9170_set_operating_mode()
382 carl9170_regwrite_begin(ar); in carl9170_set_operating_mode()
392 int carl9170_set_hwretry_limit(struct ar9170 *ar, const unsigned int max_retry) in carl9170_set_hwretry_limit() argument
396 return carl9170_write_reg(ar, AR9170_MAC_REG_RETRY_MAX, tmp); in carl9170_set_hwretry_limit()
399 int carl9170_set_beacon_timers(struct ar9170 *ar) in carl9170_set_beacon_timers() argument
406 vif = carl9170_get_main_vif(ar); in carl9170_set_beacon_timers()
412 if (mvif->enable_beacon && !WARN_ON(!ar->beacon_enabled)) { in carl9170_set_beacon_timers()
413 ar->global_beacon_int = vif->bss_conf.beacon_int / in carl9170_set_beacon_timers()
414 ar->beacon_enabled; in carl9170_set_beacon_timers()
432 ar->global_beacon_int = vif->bss_conf.beacon_int; in carl9170_set_beacon_timers()
435 ar->hw->conf.ps_dtim_period); in carl9170_set_beacon_timers()
441 if (ar->global_beacon_int) { in carl9170_set_beacon_timers()
442 if (ar->global_beacon_int < 15) { in carl9170_set_beacon_timers()
447 ar->global_pretbtt = ar->global_beacon_int - in carl9170_set_beacon_timers()
450 ar->global_pretbtt = 0; in carl9170_set_beacon_timers()
453 ar->global_beacon_int = 0; in carl9170_set_beacon_timers()
454 ar->global_pretbtt = 0; in carl9170_set_beacon_timers()
459 SET_VAL(AR9170_MAC_BCN_PERIOD, v, ar->global_beacon_int); in carl9170_set_beacon_timers()
460 SET_VAL(AR9170_MAC_PRETBTT, pretbtt, ar->global_pretbtt); in carl9170_set_beacon_timers()
461 SET_VAL(AR9170_MAC_PRETBTT2, pretbtt, ar->global_pretbtt); in carl9170_set_beacon_timers()
463 carl9170_regwrite_begin(ar); in carl9170_set_beacon_timers()
470 int carl9170_upload_key(struct ar9170 *ar, const u8 id, const u8 *mac, in carl9170_upload_key() argument
487 return carl9170_exec_cmd(ar, CARL9170_CMD_EKEY, in carl9170_upload_key()
491 int carl9170_disable_key(struct ar9170 *ar, const u8 id) in carl9170_disable_key() argument
497 return carl9170_exec_cmd(ar, CARL9170_CMD_DKEY, in carl9170_disable_key()
501 int carl9170_set_mac_tpc(struct ar9170 *ar, struct ieee80211_channel *channel) in carl9170_set_mac_tpc() argument
505 if (ar->eeprom.tx_mask != 1) in carl9170_set_mac_tpc()
512 power = ar->power_2G_ofdm[0] & 0x3f; in carl9170_set_mac_tpc()
515 power = ar->power_5G_leg[0] & 0x3f; in carl9170_set_mac_tpc()
521 power = min_t(unsigned int, power, ar->hw->conf.power_level * 2); in carl9170_set_mac_tpc()
523 carl9170_regwrite_begin(ar); in carl9170_set_mac_tpc()