Lines Matching refs:il
34 il4965_verify_inst_sparse(struct il_priv *il, __le32 * image, u32 len) in il4965_verify_inst_sparse() argument
47 il_wr(il, HBUS_TARG_MEM_RADDR, i + IL4965_RTC_INST_LOWER_BOUND); in il4965_verify_inst_sparse()
48 val = _il_rd(il, HBUS_TARG_MEM_RDAT); in il4965_verify_inst_sparse()
65 il4965_verify_inst_full(struct il_priv *il, __le32 * image, u32 len) in il4965_verify_inst_full() argument
74 il_wr(il, HBUS_TARG_MEM_RADDR, IL4965_RTC_INST_LOWER_BOUND); in il4965_verify_inst_full()
81 val = _il_rd(il, HBUS_TARG_MEM_RDAT); in il4965_verify_inst_full()
104 il4965_verify_ucode(struct il_priv *il) in il4965_verify_ucode() argument
111 image = (__le32 *) il->ucode_boot.v_addr; in il4965_verify_ucode()
112 len = il->ucode_boot.len; in il4965_verify_ucode()
113 ret = il4965_verify_inst_sparse(il, image, len); in il4965_verify_ucode()
120 image = (__le32 *) il->ucode_init.v_addr; in il4965_verify_ucode()
121 len = il->ucode_init.len; in il4965_verify_ucode()
122 ret = il4965_verify_inst_sparse(il, image, len); in il4965_verify_ucode()
129 image = (__le32 *) il->ucode_code.v_addr; in il4965_verify_ucode()
130 len = il->ucode_code.len; in il4965_verify_ucode()
131 ret = il4965_verify_inst_sparse(il, image, len); in il4965_verify_ucode()
142 image = (__le32 *) il->ucode_boot.v_addr; in il4965_verify_ucode()
143 len = il->ucode_boot.len; in il4965_verify_ucode()
144 ret = il4965_verify_inst_full(il, image, len); in il4965_verify_ucode()
162 il4965_eeprom_acquire_semaphore(struct il_priv *il) in il4965_eeprom_acquire_semaphore() argument
169 il_set_bit(il, CSR_HW_IF_CONFIG_REG, in il4965_eeprom_acquire_semaphore()
174 _il_poll_bit(il, CSR_HW_IF_CONFIG_REG, in il4965_eeprom_acquire_semaphore()
186 il4965_eeprom_release_semaphore(struct il_priv *il) in il4965_eeprom_release_semaphore() argument
188 il_clear_bit(il, CSR_HW_IF_CONFIG_REG, in il4965_eeprom_release_semaphore()
194 il4965_eeprom_check_version(struct il_priv *il) in il4965_eeprom_check_version() argument
199 eeprom_ver = il_eeprom_query16(il, EEPROM_VERSION); in il4965_eeprom_check_version()
200 calib_ver = il_eeprom_query16(il, EEPROM_4965_CALIB_VERSION_OFFSET); in il4965_eeprom_check_version()
202 if (eeprom_ver < il->cfg->eeprom_ver || in il4965_eeprom_check_version()
203 calib_ver < il->cfg->eeprom_calib_ver) in il4965_eeprom_check_version()
211 "CALIB=0x%x < 0x%x\n", eeprom_ver, il->cfg->eeprom_ver, in il4965_eeprom_check_version()
212 calib_ver, il->cfg->eeprom_calib_ver); in il4965_eeprom_check_version()
218 il4965_eeprom_get_mac(const struct il_priv *il, u8 * mac) in il4965_eeprom_get_mac() argument
220 const u8 *addr = il_eeprom_query_addr(il, in il4965_eeprom_get_mac()
227 il4965_send_led_cmd(struct il_priv *il, struct il_led_cmd *led_cmd) in il4965_send_led_cmd() argument
238 reg = _il_rd(il, CSR_LED_REG); in il4965_send_led_cmd()
240 _il_wr(il, CSR_LED_REG, reg & CSR_LED_BSM_CTRL_MSK); in il4965_send_led_cmd()
242 return il_send_cmd(il, &cmd); in il4965_send_led_cmd()
247 il4965_led_enable(struct il_priv *il) in il4965_led_enable() argument
249 _il_wr(il, CSR_LED_REG, CSR_LED_REG_TRUN_ON); in il4965_led_enable()
252 static int il4965_send_tx_power(struct il_priv *il);
253 static int il4965_hw_get_temperature(struct il_priv *il);
267 il4965_verify_bsm(struct il_priv *il) in il4965_verify_bsm() argument
269 __le32 *image = il->ucode_boot.v_addr; in il4965_verify_bsm()
270 u32 len = il->ucode_boot.len; in il4965_verify_bsm()
277 val = il_rd_prph(il, BSM_WR_DWCOUNT_REG); in il4965_verify_bsm()
280 val = il_rd_prph(il, reg); in il4965_verify_bsm()
328 il4965_load_bsm(struct il_priv *il) in il4965_load_bsm() argument
330 __le32 *image = il->ucode_boot.v_addr; in il4965_load_bsm()
331 u32 len = il->ucode_boot.len; in il4965_load_bsm()
343 il->ucode_type = UCODE_RT; in il4965_load_bsm()
355 pinst = il->ucode_init.p_addr >> 4; in il4965_load_bsm()
356 pdata = il->ucode_init_data.p_addr >> 4; in il4965_load_bsm()
357 inst_len = il->ucode_init.len; in il4965_load_bsm()
358 data_len = il->ucode_init_data.len; in il4965_load_bsm()
360 il_wr_prph(il, BSM_DRAM_INST_PTR_REG, pinst); in il4965_load_bsm()
361 il_wr_prph(il, BSM_DRAM_DATA_PTR_REG, pdata); in il4965_load_bsm()
362 il_wr_prph(il, BSM_DRAM_INST_BYTECOUNT_REG, inst_len); in il4965_load_bsm()
363 il_wr_prph(il, BSM_DRAM_DATA_BYTECOUNT_REG, data_len); in il4965_load_bsm()
369 _il_wr_prph(il, reg_offset, le32_to_cpu(*image)); in il4965_load_bsm()
371 ret = il4965_verify_bsm(il); in il4965_load_bsm()
376 il_wr_prph(il, BSM_WR_MEM_SRC_REG, 0x0); in il4965_load_bsm()
377 il_wr_prph(il, BSM_WR_MEM_DST_REG, IL49_RTC_INST_LOWER_BOUND); in il4965_load_bsm()
378 il_wr_prph(il, BSM_WR_DWCOUNT_REG, len / sizeof(u32)); in il4965_load_bsm()
382 il_wr_prph(il, BSM_WR_CTRL_REG, BSM_WR_CTRL_REG_BIT_START); in il4965_load_bsm()
386 done = il_rd_prph(il, BSM_WR_CTRL_REG); in il4965_load_bsm()
400 il_wr_prph(il, BSM_WR_CTRL_REG, BSM_WR_CTRL_REG_BIT_START_EN); in il4965_load_bsm()
415 il4965_set_ucode_ptrs(struct il_priv *il) in il4965_set_ucode_ptrs() argument
421 pinst = il->ucode_code.p_addr >> 4; in il4965_set_ucode_ptrs()
422 pdata = il->ucode_data_backup.p_addr >> 4; in il4965_set_ucode_ptrs()
425 il_wr_prph(il, BSM_DRAM_INST_PTR_REG, pinst); in il4965_set_ucode_ptrs()
426 il_wr_prph(il, BSM_DRAM_DATA_PTR_REG, pdata); in il4965_set_ucode_ptrs()
427 il_wr_prph(il, BSM_DRAM_DATA_BYTECOUNT_REG, il->ucode_data.len); in il4965_set_ucode_ptrs()
431 il_wr_prph(il, BSM_DRAM_INST_BYTECOUNT_REG, in il4965_set_ucode_ptrs()
432 il->ucode_code.len | BSM_DRAM_INST_LOAD); in il4965_set_ucode_ptrs()
450 il4965_init_alive_start(struct il_priv *il) in il4965_init_alive_start() argument
455 if (il4965_verify_ucode(il)) { in il4965_init_alive_start()
463 il->temperature = il4965_hw_get_temperature(il); in il4965_init_alive_start()
469 if (il4965_set_ucode_ptrs(il)) { in il4965_init_alive_start()
478 queue_work(il->workqueue, &il->restart); in il4965_init_alive_start()
492 il4965_nic_config(struct il_priv *il) in il4965_nic_config() argument
497 spin_lock_irqsave(&il->lock, flags); in il4965_nic_config()
499 radio_cfg = il_eeprom_query16(il, EEPROM_RADIO_CONFIG); in il4965_nic_config()
503 il_set_bit(il, CSR_HW_IF_CONFIG_REG, in il4965_nic_config()
509 il_set_bit(il, CSR_HW_IF_CONFIG_REG, in il4965_nic_config()
513 il->calib_info = in il4965_nic_config()
515 il_eeprom_query_addr(il, EEPROM_4965_CALIB_TXPOWER_OFFSET); in il4965_nic_config()
517 spin_unlock_irqrestore(&il->lock, flags); in il4965_nic_config()
524 il4965_chain_noise_reset(struct il_priv *il) in il4965_chain_noise_reset() argument
526 struct il_chain_noise_data *data = &(il->chain_noise_data); in il4965_chain_noise_reset()
528 if (data->state == IL_CHAIN_NOISE_ALIVE && il_is_any_associated(il)) { in il4965_chain_noise_reset()
545 if (il_send_cmd_pdu(il, C_PHY_CALIBRATION, sizeof(cmd), &cmd)) in il4965_chain_noise_reset()
628 il4965_get_sub_band(const struct il_priv *il, u32 channel) in il4965_get_sub_band() argument
633 if (il->calib_info->band_info[b].ch_from == 0) in il4965_get_sub_band()
636 if (channel >= il->calib_info->band_info[b].ch_from && in il4965_get_sub_band()
637 channel <= il->calib_info->band_info[b].ch_to) in il4965_get_sub_band()
666 il4965_interpolate_chan(struct il_priv *il, u32 channel, in il4965_interpolate_chan() argument
678 s = il4965_get_sub_band(il, channel); in il4965_interpolate_chan()
684 ch_i1 = il->calib_info->band_info[s].ch1.ch_num; in il4965_interpolate_chan()
685 ch_i2 = il->calib_info->band_info[s].ch2.ch_num; in il4965_interpolate_chan()
693 m1 = &(il->calib_info->band_info[s].ch1. in il4965_interpolate_chan()
695 m2 = &(il->calib_info->band_info[s].ch2. in il4965_interpolate_chan()
1003 il4965_fill_txpower_tbl(struct il_priv *il, u8 band, u16 channel, u8 is_ht40, in il4965_fill_txpower_tbl() argument
1033 user_target_power = 2 * il->tx_power_user_lmt; in il4965_fill_txpower_tbl()
1038 ch_info = il_get_channel_info(il, il->band, channel); in il4965_fill_txpower_tbl()
1064 saturation_power = il->calib_info->saturation_power24; in il4965_fill_txpower_tbl()
1066 saturation_power = il->calib_info->saturation_power52; in il4965_fill_txpower_tbl()
1093 il4965_interpolate_chan(il, channel, &ch_eeprom_info); in il4965_fill_txpower_tbl()
1096 voltage = le16_to_cpu(il->calib_info->voltage); in il4965_fill_txpower_tbl()
1097 init_voltage = (s32) le32_to_cpu(il->card_alive_init.voltage); in il4965_fill_txpower_tbl()
1105 current_temp = max(il->temperature, IL_TX_POWER_TEMPERATURE_MIN); in il4965_fill_txpower_tbl()
1106 current_temp = min(il->temperature, IL_TX_POWER_TEMPERATURE_MAX); in il4965_fill_txpower_tbl()
1178 (s32) le32_to_cpu(il->card_alive_init. in il4965_fill_txpower_tbl()
1241 il4965_send_tx_power(struct il_priv *il) in il4965_send_tx_power() argument
1250 (test_bit(S_SCAN_HW, &il->status), in il4965_send_tx_power()
1254 band = il->band == NL80211_BAND_2GHZ; in il4965_send_tx_power()
1256 is_ht40 = iw4965_is_ht40_channel(il->active.flags); in il4965_send_tx_power()
1258 if (is_ht40 && (il->active.flags & RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK)) in il4965_send_tx_power()
1262 cmd.channel = il->active.channel; in il4965_send_tx_power()
1265 il4965_fill_txpower_tbl(il, band, le16_to_cpu(il->active.channel), in il4965_send_tx_power()
1270 ret = il_send_cmd_pdu(il, C_TX_PWR_TBL, sizeof(cmd), &cmd); in il4965_send_tx_power()
1277 il4965_send_rxon_assoc(struct il_priv *il) in il4965_send_rxon_assoc() argument
1281 const struct il_rxon_cmd *rxon1 = &il->staging; in il4965_send_rxon_assoc()
1282 const struct il_rxon_cmd *rxon2 = &il->active; in il4965_send_rxon_assoc()
1284 lockdep_assert_held(&il->mutex); in il4965_send_rxon_assoc()
1299 rxon_assoc.flags = il->staging.flags; in il4965_send_rxon_assoc()
1300 rxon_assoc.filter_flags = il->staging.filter_flags; in il4965_send_rxon_assoc()
1301 rxon_assoc.ofdm_basic_rates = il->staging.ofdm_basic_rates; in il4965_send_rxon_assoc()
1302 rxon_assoc.cck_basic_rates = il->staging.cck_basic_rates; in il4965_send_rxon_assoc()
1305 il->staging.ofdm_ht_single_stream_basic_rates; in il4965_send_rxon_assoc()
1307 il->staging.ofdm_ht_dual_stream_basic_rates; in il4965_send_rxon_assoc()
1308 rxon_assoc.rx_chain_select_flags = il->staging.rx_chain; in il4965_send_rxon_assoc()
1311 il_send_cmd_pdu_async(il, C_RXON_ASSOC, sizeof(rxon_assoc), in il4965_send_rxon_assoc()
1318 il4965_commit_rxon(struct il_priv *il) in il4965_commit_rxon() argument
1321 struct il_rxon_cmd *active_rxon = (void *)&il->active; in il4965_commit_rxon()
1323 bool new_assoc = !!(il->staging.filter_flags & RXON_FILTER_ASSOC_MSK); in il4965_commit_rxon()
1325 if (!il_is_alive(il)) in il4965_commit_rxon()
1329 il->staging.flags |= RXON_FLG_TSF2HOST_MSK; in il4965_commit_rxon()
1331 ret = il_check_rxon_cmd(il); in il4965_commit_rxon()
1341 if (test_bit(S_CHANNEL_SWITCH_PENDING, &il->status) && in il4965_commit_rxon()
1342 il->switch_channel != il->staging.channel) { in il4965_commit_rxon()
1344 le16_to_cpu(il->switch_channel)); in il4965_commit_rxon()
1345 il_chswitch_done(il, false); in il4965_commit_rxon()
1351 if (!il_full_rxon_required(il)) { in il4965_commit_rxon()
1352 ret = il_send_rxon_assoc(il); in il4965_commit_rxon()
1358 memcpy(active_rxon, &il->staging, sizeof(*active_rxon)); in il4965_commit_rxon()
1359 il_print_rx_config_cmd(il); in il4965_commit_rxon()
1364 il_set_tx_power(il, il->tx_power_next, false); in il4965_commit_rxon()
1372 if (il_is_associated(il) && new_assoc) { in il4965_commit_rxon()
1377 il_send_cmd_pdu(il, C_RXON, in il4965_commit_rxon()
1387 il_clear_ucode_stations(il); in il4965_commit_rxon()
1388 il_restore_stations(il); in il4965_commit_rxon()
1389 ret = il4965_restore_default_wep_keys(il); in il4965_commit_rxon()
1398 le16_to_cpu(il->staging.channel), il->staging.bssid_addr); in il4965_commit_rxon()
1400 il_set_rxon_hwcrypto(il, !il->cfg->mod_params->sw_crypto); in il4965_commit_rxon()
1408 il_send_cmd_pdu(il, C_RXON, in il4965_commit_rxon()
1409 sizeof(struct il_rxon_cmd), &il->staging); in il4965_commit_rxon()
1415 memcpy(active_rxon, &il->staging, sizeof(*active_rxon)); in il4965_commit_rxon()
1416 il_clear_ucode_stations(il); in il4965_commit_rxon()
1417 il_restore_stations(il); in il4965_commit_rxon()
1418 ret = il4965_restore_default_wep_keys(il); in il4965_commit_rxon()
1425 il->start_calib = 0; in il4965_commit_rxon()
1430 il_send_cmd_pdu(il, C_RXON, in il4965_commit_rxon()
1431 sizeof(struct il_rxon_cmd), &il->staging); in il4965_commit_rxon()
1436 memcpy(active_rxon, &il->staging, sizeof(*active_rxon)); in il4965_commit_rxon()
1438 il_print_rx_config_cmd(il); in il4965_commit_rxon()
1440 il4965_init_sensitivity(il); in il4965_commit_rxon()
1444 ret = il_set_tx_power(il, il->tx_power_next, true); in il4965_commit_rxon()
1454 il4965_hw_channel_switch(struct il_priv *il, in il4965_hw_channel_switch() argument
1467 u16 beacon_interval = le16_to_cpu(il->timing.beacon_interval); in il4965_hw_channel_switch()
1468 struct ieee80211_vif *vif = il->vif; in il4965_hw_channel_switch()
1469 band = (il->band == NL80211_BAND_2GHZ); in il4965_hw_channel_switch()
1474 is_ht40 = iw4965_is_ht40_channel(il->staging.flags); in il4965_hw_channel_switch()
1476 if (is_ht40 && (il->staging.flags & RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK)) in il4965_hw_channel_switch()
1483 cmd.rxon_flags = il->staging.flags; in il4965_hw_channel_switch()
1484 cmd.rxon_filter_flags = il->staging.filter_flags; in il4965_hw_channel_switch()
1491 if (il->ucode_beacon_time > tsf_low && beacon_interval) { in il4965_hw_channel_switch()
1493 ((il->ucode_beacon_time - tsf_low) / beacon_interval)) { in il4965_hw_channel_switch()
1495 (il->ucode_beacon_time - tsf_low) / beacon_interval; in il4965_hw_channel_switch()
1500 cmd.switch_time = cpu_to_le32(il->ucode_beacon_time); in il4965_hw_channel_switch()
1505 il_usecs_to_beacons(il, switch_time_in_usec, in il4965_hw_channel_switch()
1508 il_add_beacon_time(il, il->ucode_beacon_time, in il4965_hw_channel_switch()
1512 ch_info = il_get_channel_info(il, il->band, ch); in il4965_hw_channel_switch()
1517 il->active.channel, ch); in il4965_hw_channel_switch()
1521 rc = il4965_fill_txpower_tbl(il, band, ch, is_ht40, ctrl_chan_high, in il4965_hw_channel_switch()
1528 return il_send_cmd_pdu(il, C_CHANNEL_SWITCH, sizeof(cmd), &cmd); in il4965_hw_channel_switch()
1535 il4965_txq_update_byte_cnt_tbl(struct il_priv *il, struct il_tx_queue *txq, in il4965_txq_update_byte_cnt_tbl() argument
1538 struct il4965_scd_bc_tbl *scd_bc_tbl = il->scd_bc_tbls.addr; in il4965_txq_update_byte_cnt_tbl()
1562 il4965_hw_get_temperature(struct il_priv *il) in il4965_hw_get_temperature() argument
1569 if (test_bit(S_TEMPERATURE, &il->status) && in il4965_hw_get_temperature()
1570 (il->_4965.stats.flag & STATS_REPLY_FLG_HT40_MODE_MSK)) { in il4965_hw_get_temperature()
1572 R1 = (s32) le32_to_cpu(il->card_alive_init.therm_r1[1]); in il4965_hw_get_temperature()
1573 R2 = (s32) le32_to_cpu(il->card_alive_init.therm_r2[1]); in il4965_hw_get_temperature()
1574 R3 = (s32) le32_to_cpu(il->card_alive_init.therm_r3[1]); in il4965_hw_get_temperature()
1575 R4 = le32_to_cpu(il->card_alive_init.therm_r4[1]); in il4965_hw_get_temperature()
1578 R1 = (s32) le32_to_cpu(il->card_alive_init.therm_r1[0]); in il4965_hw_get_temperature()
1579 R2 = (s32) le32_to_cpu(il->card_alive_init.therm_r2[0]); in il4965_hw_get_temperature()
1580 R3 = (s32) le32_to_cpu(il->card_alive_init.therm_r3[0]); in il4965_hw_get_temperature()
1581 R4 = le32_to_cpu(il->card_alive_init.therm_r4[0]); in il4965_hw_get_temperature()
1591 if (!test_bit(S_TEMPERATURE, &il->status)) in il4965_hw_get_temperature()
1595 (il->_4965.stats.general.common.temperature), in il4965_hw_get_temperature()
1631 il4965_is_temp_calib_needed(struct il_priv *il) in il4965_is_temp_calib_needed() argument
1635 if (!test_bit(S_STATS, &il->status)) { in il4965_is_temp_calib_needed()
1640 temp_diff = il->temperature - il->last_temperature; in il4965_is_temp_calib_needed()
1662 il4965_temperature_calib(struct il_priv *il) in il4965_temperature_calib() argument
1666 temp = il4965_hw_get_temperature(il); in il4965_temperature_calib()
1670 if (il->temperature != temp) { in il4965_temperature_calib()
1671 if (il->temperature) in il4965_temperature_calib()
1673 kelvin_to_celsius(il->temperature), in il4965_temperature_calib()
1680 il->temperature = temp; in il4965_temperature_calib()
1681 set_bit(S_TEMPERATURE, &il->status); in il4965_temperature_calib()
1683 if (!il->disable_tx_power_cal && in il4965_temperature_calib()
1684 unlikely(!test_bit(S_SCANNING, &il->status)) && in il4965_temperature_calib()
1685 il4965_is_temp_calib_needed(il)) in il4965_temperature_calib()
1686 queue_work(il->workqueue, &il->txpower_work); in il4965_temperature_calib()
1721 il4965_post_scan(struct il_priv *il) in il4965_post_scan() argument
1727 if (memcmp(&il->staging, &il->active, sizeof(il->staging))) in il4965_post_scan()
1728 il_commit_rxon(il); in il4965_post_scan()
1732 il4965_post_associate(struct il_priv *il) in il4965_post_associate() argument
1734 struct ieee80211_vif *vif = il->vif; in il4965_post_associate()
1737 if (!vif || !il->is_open) in il4965_post_associate()
1740 if (test_bit(S_EXIT_PENDING, &il->status)) in il4965_post_associate()
1743 il_scan_cancel_timeout(il, 200); in il4965_post_associate()
1745 il->staging.filter_flags &= ~RXON_FILTER_ASSOC_MSK; in il4965_post_associate()
1746 il_commit_rxon(il); in il4965_post_associate()
1748 ret = il_send_rxon_timing(il); in il4965_post_associate()
1752 il->staging.filter_flags |= RXON_FILTER_ASSOC_MSK; in il4965_post_associate()
1754 il_set_rxon_ht(il, &il->current_ht_config); in il4965_post_associate()
1756 if (il->ops->set_rxon_chain) in il4965_post_associate()
1757 il->ops->set_rxon_chain(il); in il4965_post_associate()
1759 il->staging.assoc_id = cpu_to_le16(vif->bss_conf.aid); in il4965_post_associate()
1765 il->staging.flags |= RXON_FLG_SHORT_PREAMBLE_MSK; in il4965_post_associate()
1767 il->staging.flags &= ~RXON_FLG_SHORT_PREAMBLE_MSK; in il4965_post_associate()
1769 if (il->staging.flags & RXON_FLG_BAND_24G_MSK) { in il4965_post_associate()
1771 il->staging.flags |= RXON_FLG_SHORT_SLOT_MSK; in il4965_post_associate()
1773 il->staging.flags &= ~RXON_FLG_SHORT_SLOT_MSK; in il4965_post_associate()
1776 il_commit_rxon(il); in il4965_post_associate()
1779 il->active.bssid_addr); in il4965_post_associate()
1785 il4965_send_beacon_cmd(il); in il4965_post_associate()
1796 if (il->chain_noise_data.state == IL_CHAIN_NOISE_DONE) in il4965_post_associate()
1797 il_power_update_mode(il, false); in il4965_post_associate()
1800 il4965_chain_noise_reset(il); in il4965_post_associate()
1801 il->start_calib = 1; in il4965_post_associate()
1805 il4965_config_ap(struct il_priv *il) in il4965_config_ap() argument
1807 struct ieee80211_vif *vif = il->vif; in il4965_config_ap()
1810 lockdep_assert_held(&il->mutex); in il4965_config_ap()
1812 if (test_bit(S_EXIT_PENDING, &il->status)) in il4965_config_ap()
1816 if (!il_is_associated(il)) { in il4965_config_ap()
1819 il->staging.filter_flags &= ~RXON_FILTER_ASSOC_MSK; in il4965_config_ap()
1820 il_commit_rxon(il); in il4965_config_ap()
1823 ret = il_send_rxon_timing(il); in il4965_config_ap()
1829 il->chain_noise_data.active_chains = il->hw_params.valid_rx_ant; in il4965_config_ap()
1830 il_set_rxon_ht(il, &il->current_ht_config); in il4965_config_ap()
1831 if (il->ops->set_rxon_chain) in il4965_config_ap()
1832 il->ops->set_rxon_chain(il); in il4965_config_ap()
1834 il->staging.assoc_id = 0; in il4965_config_ap()
1837 il->staging.flags |= RXON_FLG_SHORT_PREAMBLE_MSK; in il4965_config_ap()
1839 il->staging.flags &= ~RXON_FLG_SHORT_PREAMBLE_MSK; in il4965_config_ap()
1841 if (il->staging.flags & RXON_FLG_BAND_24G_MSK) { in il4965_config_ap()
1843 il->staging.flags |= RXON_FLG_SHORT_SLOT_MSK; in il4965_config_ap()
1845 il->staging.flags &= ~RXON_FLG_SHORT_SLOT_MSK; in il4965_config_ap()
1848 il4965_send_beacon_cmd(il); in il4965_config_ap()
1850 il->staging.filter_flags |= RXON_FILTER_ASSOC_MSK; in il4965_config_ap()
1851 il_commit_rxon(il); in il4965_config_ap()
1853 il4965_send_beacon_cmd(il); in il4965_config_ap()