Lines Matching refs:iwn_softc

134 static void	iwn4965_attach(struct iwn_softc *, uint16_t);
135 static void iwn5000_attach(struct iwn_softc *, uint16_t);
136 static int iwn_config_specific(struct iwn_softc *, uint16_t);
137 static void iwn_radiotap_attach(struct iwn_softc *);
138 static void iwn_sysctlattach(struct iwn_softc *);
148 static int iwn_nic_lock(struct iwn_softc *);
149 static int iwn_eeprom_lock(struct iwn_softc *);
150 static int iwn_init_otprom(struct iwn_softc *);
151 static int iwn_read_prom_data(struct iwn_softc *, uint32_t, void *, int);
153 static int iwn_dma_contig_alloc(struct iwn_softc *, struct iwn_dma_info *,
156 static int iwn_alloc_sched(struct iwn_softc *);
157 static void iwn_free_sched(struct iwn_softc *);
158 static int iwn_alloc_kw(struct iwn_softc *);
159 static void iwn_free_kw(struct iwn_softc *);
160 static int iwn_alloc_ict(struct iwn_softc *);
161 static void iwn_free_ict(struct iwn_softc *);
162 static int iwn_alloc_fwmem(struct iwn_softc *);
163 static void iwn_free_fwmem(struct iwn_softc *);
164 static int iwn_alloc_rx_ring(struct iwn_softc *, struct iwn_rx_ring *);
165 static void iwn_reset_rx_ring(struct iwn_softc *, struct iwn_rx_ring *);
166 static void iwn_free_rx_ring(struct iwn_softc *, struct iwn_rx_ring *);
167 static int iwn_alloc_tx_ring(struct iwn_softc *, struct iwn_tx_ring *,
169 static void iwn_reset_tx_ring(struct iwn_softc *, struct iwn_tx_ring *);
170 static void iwn_free_tx_ring(struct iwn_softc *, struct iwn_tx_ring *);
171 static void iwn5000_ict_reset(struct iwn_softc *);
172 static int iwn_read_eeprom(struct iwn_softc *,
174 static void iwn4965_read_eeprom(struct iwn_softc *);
176 static void iwn4965_print_power_group(struct iwn_softc *, int);
178 static void iwn5000_read_eeprom(struct iwn_softc *);
180 static void iwn_read_eeprom_band(struct iwn_softc *, int, int, int *,
182 static void iwn_read_eeprom_ht40(struct iwn_softc *, int, int, int *,
184 static void iwn_read_eeprom_channels(struct iwn_softc *, int, uint32_t);
185 static struct iwn_eeprom_chan *iwn_find_eeprom_channel(struct iwn_softc *,
192 static void iwn_read_eeprom_enhinfo(struct iwn_softc *);
199 static void iwn_rx_phy(struct iwn_softc *, struct iwn_rx_desc *,
201 static void iwn_rx_done(struct iwn_softc *, struct iwn_rx_desc *,
203 static void iwn_rx_compressed_ba(struct iwn_softc *, struct iwn_rx_desc *,
205 static void iwn5000_rx_calib_results(struct iwn_softc *,
207 static void iwn_rx_statistics(struct iwn_softc *, struct iwn_rx_desc *,
209 static void iwn4965_tx_done(struct iwn_softc *, struct iwn_rx_desc *,
211 static void iwn5000_tx_done(struct iwn_softc *, struct iwn_rx_desc *,
213 static void iwn_tx_done(struct iwn_softc *, struct iwn_rx_desc *, int,
215 static void iwn_ampdu_tx_done(struct iwn_softc *, int, int, int, int, void *);
216 static void iwn_cmd_done(struct iwn_softc *, struct iwn_rx_desc *);
217 static void iwn_notif_intr(struct iwn_softc *);
218 static void iwn_wakeup_intr(struct iwn_softc *);
219 static void iwn_rftoggle_intr(struct iwn_softc *);
220 static void iwn_fatal_intr(struct iwn_softc *);
222 static void iwn4965_update_sched(struct iwn_softc *, int, int, uint8_t,
224 static void iwn5000_update_sched(struct iwn_softc *, int, int, uint8_t,
227 static void iwn5000_reset_sched(struct iwn_softc *, int, int);
229 static int iwn_tx_data(struct iwn_softc *, struct mbuf *,
231 static int iwn_tx_data_raw(struct iwn_softc *, struct mbuf *,
242 static int iwn_cmd(struct iwn_softc *, int, const void *, int, int);
243 static int iwn4965_add_node(struct iwn_softc *, struct iwn_node_info *,
245 static int iwn5000_add_node(struct iwn_softc *, struct iwn_node_info *,
247 static int iwn_set_link_quality(struct iwn_softc *,
249 static int iwn_add_broadcast_node(struct iwn_softc *, int);
252 static void iwn_set_led(struct iwn_softc *, uint8_t, uint8_t, uint8_t);
253 static int iwn_set_critical_temp(struct iwn_softc *);
254 static int iwn_set_timing(struct iwn_softc *, struct ieee80211_node *);
255 static void iwn4965_power_calibration(struct iwn_softc *, int);
256 static int iwn4965_set_txpower(struct iwn_softc *,
258 static int iwn5000_set_txpower(struct iwn_softc *,
260 static int iwn4965_get_rssi(struct iwn_softc *, struct iwn_rx_stat *);
261 static int iwn5000_get_rssi(struct iwn_softc *, struct iwn_rx_stat *);
263 static int iwn4965_get_temperature(struct iwn_softc *);
264 static int iwn5000_get_temperature(struct iwn_softc *);
265 static int iwn_init_sensitivity(struct iwn_softc *);
266 static void iwn_collect_noise(struct iwn_softc *,
268 static int iwn4965_init_gains(struct iwn_softc *);
269 static int iwn5000_init_gains(struct iwn_softc *);
270 static int iwn4965_set_gains(struct iwn_softc *);
271 static int iwn5000_set_gains(struct iwn_softc *);
272 static void iwn_tune_sensitivity(struct iwn_softc *,
274 static void iwn_save_stats_counters(struct iwn_softc *,
276 static int iwn_send_sensitivity(struct iwn_softc *);
277 static void iwn_check_rx_recovery(struct iwn_softc *, struct iwn_stats *);
278 static int iwn_set_pslevel(struct iwn_softc *, int, int, int);
279 static int iwn_send_btcoex(struct iwn_softc *);
280 static int iwn_send_advanced_btcoex(struct iwn_softc *);
281 static int iwn5000_runtime_calib(struct iwn_softc *);
282 static int iwn_config(struct iwn_softc *);
283 static int iwn_scan(struct iwn_softc *, struct ieee80211vap *,
285 static int iwn_auth(struct iwn_softc *, struct ieee80211vap *vap);
286 static int iwn_run(struct iwn_softc *, struct ieee80211vap *vap);
299 static void iwn4965_ampdu_tx_start(struct iwn_softc *,
301 static void iwn4965_ampdu_tx_stop(struct iwn_softc *, int,
303 static void iwn5000_ampdu_tx_start(struct iwn_softc *,
305 static void iwn5000_ampdu_tx_stop(struct iwn_softc *, int,
307 static int iwn5000_query_calibration(struct iwn_softc *);
308 static int iwn5000_send_calibration(struct iwn_softc *);
309 static int iwn5000_send_wimax_coex(struct iwn_softc *);
310 static int iwn5000_crystal_calib(struct iwn_softc *);
311 static int iwn5000_temp_offset_calib(struct iwn_softc *);
312 static int iwn5000_temp_offset_calibv2(struct iwn_softc *);
313 static int iwn4965_post_alive(struct iwn_softc *);
314 static int iwn5000_post_alive(struct iwn_softc *);
315 static int iwn4965_load_bootcode(struct iwn_softc *, const uint8_t *,
317 static int iwn4965_load_firmware(struct iwn_softc *);
318 static int iwn5000_load_firmware_section(struct iwn_softc *, uint32_t,
320 static int iwn5000_load_firmware(struct iwn_softc *);
321 static int iwn_read_firmware_leg(struct iwn_softc *,
323 static int iwn_read_firmware_tlv(struct iwn_softc *,
325 static int iwn_read_firmware(struct iwn_softc *);
326 static void iwn_unload_firmware(struct iwn_softc *);
327 static int iwn_clock_wait(struct iwn_softc *);
328 static int iwn_apm_init(struct iwn_softc *);
329 static void iwn_apm_stop_master(struct iwn_softc *);
330 static void iwn_apm_stop(struct iwn_softc *);
331 static int iwn4965_nic_config(struct iwn_softc *);
332 static int iwn5000_nic_config(struct iwn_softc *);
333 static int iwn_hw_prepare(struct iwn_softc *);
334 static int iwn_hw_init(struct iwn_softc *);
335 static void iwn_hw_stop(struct iwn_softc *);
339 static void iwn_init_locked(struct iwn_softc *);
340 static void iwn_init(struct iwn_softc *);
341 static void iwn_stop_locked(struct iwn_softc *);
342 static void iwn_stop(struct iwn_softc *);
350 static void iwn_debug_register(struct iwn_softc *);
368 sizeof(struct iwn_softc)
409 iwn_is_3stream_device(struct iwn_softc *sc)
420 struct iwn_softc *sc = device_get_softc(dev);
735 iwn_config_specific(struct iwn_softc *sc, uint16_t pid)
1214 iwn4965_attach(struct iwn_softc *sc, uint16_t pid)
1256 iwn5000_attach(struct iwn_softc *sc, uint16_t pid)
1296 iwn_radiotap_attach(struct iwn_softc *sc)
1309 iwn_sysctlattach(struct iwn_softc *sc)
1327 struct iwn_softc *sc = ic->ic_softc;
1363 iwn_xmit_queue_drain(struct iwn_softc *sc)
1377 iwn_xmit_queue_enqueue(struct iwn_softc *sc, struct mbuf *m)
1387 struct iwn_softc *sc = device_get_softc(dev);
1446 struct iwn_softc *sc = device_get_softc(dev);
1455 struct iwn_softc *sc = device_get_softc(dev);
1464 struct iwn_softc *sc = device_get_softc(dev);
1474 iwn_nic_lock(struct iwn_softc *sc)
1493 iwn_nic_unlock(struct iwn_softc *sc)
1499 iwn_prph_read(struct iwn_softc *sc, uint32_t addr)
1507 iwn_prph_write(struct iwn_softc *sc, uint32_t addr, uint32_t data)
1515 iwn_prph_setbits(struct iwn_softc *sc, uint32_t addr, uint32_t mask)
1521 iwn_prph_clrbits(struct iwn_softc *sc, uint32_t addr, uint32_t mask)
1527 iwn_prph_write_region_4(struct iwn_softc *sc, uint32_t addr,
1535 iwn_mem_read(struct iwn_softc *sc, uint32_t addr)
1543 iwn_mem_write(struct iwn_softc *sc, uint32_t addr, uint32_t data)
1551 iwn_mem_write_2(struct iwn_softc *sc, uint32_t addr, uint16_t data)
1564 iwn_mem_read_region_4(struct iwn_softc *sc, uint32_t addr, uint32_t *data,
1572 iwn_mem_set_region_4(struct iwn_softc *sc, uint32_t addr, uint32_t val,
1580 iwn_eeprom_lock(struct iwn_softc *sc)
1602 iwn_eeprom_unlock(struct iwn_softc *sc)
1612 iwn_init_otprom(struct iwn_softc *sc)
1670 iwn_read_prom_data(struct iwn_softc *sc, uint32_t addr, void *data, int count)
1726 iwn_dma_contig_alloc(struct iwn_softc *sc, struct iwn_dma_info *dma,
1778 iwn_alloc_sched(struct iwn_softc *sc)
1786 iwn_free_sched(struct iwn_softc *sc)
1792 iwn_alloc_kw(struct iwn_softc *sc)
1799 iwn_free_kw(struct iwn_softc *sc)
1805 iwn_alloc_ict(struct iwn_softc *sc)
1813 iwn_free_ict(struct iwn_softc *sc)
1819 iwn_alloc_fwmem(struct iwn_softc *sc)
1826 iwn_free_fwmem(struct iwn_softc *sc)
1832 iwn_alloc_rx_ring(struct iwn_softc *sc, struct iwn_rx_ring *ring)
1929 iwn_reset_rx_ring(struct iwn_softc *sc, struct iwn_rx_ring *ring)
1950 iwn_free_rx_ring(struct iwn_softc *sc, struct iwn_rx_ring *ring)
1979 iwn_alloc_tx_ring(struct iwn_softc *sc, struct iwn_tx_ring *ring, int qid)
2049 iwn_reset_tx_ring(struct iwn_softc *sc, struct iwn_tx_ring *ring)
2080 iwn_free_tx_ring(struct iwn_softc *sc, struct iwn_tx_ring *ring)
2108 iwn5000_ict_reset(struct iwn_softc *sc)
2136 iwn_read_eeprom(struct iwn_softc *sc, uint8_t macaddr[IEEE80211_ADDR_LEN])
2208 iwn4965_read_eeprom(struct iwn_softc *sc)
2260 iwn4965_print_power_group(struct iwn_softc *sc, int i)
2294 iwn5000_read_eeprom(struct iwn_softc *sc)
2380 iwn_read_eeprom_band(struct iwn_softc *sc, int n, int maxchans, int *nchans,
2433 iwn_read_eeprom_ht40(struct iwn_softc *sc, int n, int maxchans, int *nchans,
2491 iwn_read_eeprom_channels(struct iwn_softc *sc, int n, uint32_t addr)
2509 iwn_find_eeprom_channel(struct iwn_softc *sc, struct ieee80211_channel *c)
2539 struct iwn_softc *sc = ic->ic_softc;
2556 struct iwn_softc *sc = ic->ic_softc;
2576 iwn_read_eeprom_enhinfo(struct iwn_softc *sc)
2670 iwn_get_1stream_tx_antmask(struct iwn_softc *sc)
2677 iwn_get_2stream_tx_antmask(struct iwn_softc *sc)
2723 iwn_rate_to_plcp(struct iwn_softc *sc, struct ieee80211_node *ni,
2824 struct iwn_softc *sc = ic->ic_softc;
2917 struct iwn_softc *sc = arg;
2940 iwn_rx_phy(struct iwn_softc *sc, struct iwn_rx_desc *desc,
2958 iwn_rx_done(struct iwn_softc *sc, struct iwn_rx_desc *desc,
3153 iwn_rx_compressed_ba(struct iwn_softc *sc, struct iwn_rx_desc *desc,
3258 iwn5000_rx_calib_results(struct iwn_softc *sc, struct iwn_rx_desc *desc,
3317 iwn_stats_update(struct iwn_softc *sc, struct iwn_calib_state *calib,
3382 iwn_rx_statistics(struct iwn_softc *sc, struct iwn_rx_desc *desc,
3468 iwn_save_stats_counters(struct iwn_softc *sc, const struct iwn_stats *rs)
3488 iwn4965_tx_done(struct iwn_softc *sc, struct iwn_rx_desc *desc,
3518 iwn5000_tx_done(struct iwn_softc *sc, struct iwn_rx_desc *desc,
3556 iwn_tx_done(struct iwn_softc *sc, struct iwn_rx_desc *desc, int ackfailcnt,
3619 iwn_cmd_done(struct iwn_softc *sc, struct iwn_rx_desc *desc)
3648 iwn_ampdu_tx_done(struct iwn_softc *sc, int qid, int idx, int nframes,
3798 iwn_notif_intr(struct iwn_softc *sc)
3994 iwn_wakeup_intr(struct iwn_softc *sc)
4010 iwn_rftoggle_intr(struct iwn_softc *sc)
4031 iwn_fatal_intr(struct iwn_softc *sc)
4090 struct iwn_softc *sc = arg;
4196 iwn4965_update_sched(struct iwn_softc *sc, int qid, int idx, uint8_t id,
4214 iwn5000_update_sched(struct iwn_softc *sc, int qid, int idx, uint8_t id,
4233 iwn5000_reset_sched(struct iwn_softc *sc, int qid, int idx)
4257 iwn_check_rate_needs_protection(struct iwn_softc *sc,
4302 iwn_tx_rate_to_linkq_offset(struct iwn_softc *sc, struct ieee80211_node *ni,
4360 iwn_tx_data(struct iwn_softc *sc, struct mbuf *m, struct ieee80211_node *ni)
4660 iwn_tx_data_raw(struct iwn_softc *sc, struct mbuf *m,
4855 struct iwn_softc *sc = arg0;
4906 struct iwn_softc *sc = ic->ic_softc;
4961 struct iwn_softc *sc = ic->ic_softc;
4988 struct iwn_softc *sc = arg;
4998 struct iwn_softc *sc = arg;
5036 struct iwn_softc *sc = dev->si_drv1;
5073 struct iwn_softc *sc = ic->ic_softc;
5099 iwn_cmd(struct iwn_softc *sc, int code, const void *buf, int size, int async)
5179 iwn4965_add_node(struct iwn_softc *sc, struct iwn_node_info *node, int async)
5200 iwn5000_add_node(struct iwn_softc *sc, struct iwn_node_info *node, int async)
5210 iwn_set_link_quality(struct iwn_softc *sc, struct ieee80211_node *ni)
5321 iwn_add_broadcast_node(struct iwn_softc *sc, int async)
5373 struct iwn_softc *sc = ic->ic_softc;
5411 iwn_set_led(struct iwn_softc *sc, uint8_t which, uint8_t off, uint8_t on)
5438 iwn_set_critical_temp(struct iwn_softc *sc)
5460 iwn_set_timing(struct iwn_softc *sc, struct ieee80211_node *ni)
5484 iwn4965_power_calibration(struct iwn_softc *sc, int temp)
5506 iwn4965_set_txpower(struct iwn_softc *sc, struct ieee80211_channel *ch,
5657 iwn5000_set_txpower(struct iwn_softc *sc, struct ieee80211_channel *ch,
5688 iwn4965_get_rssi(struct iwn_softc *sc, struct iwn_rx_stat *stat)
5715 iwn5000_get_rssi(struct iwn_softc *sc, struct iwn_rx_stat *stat)
5759 iwn4965_get_temperature(struct iwn_softc *sc)
5786 iwn5000_get_temperature(struct iwn_softc *sc)
5808 iwn_init_sensitivity(struct iwn_softc *sc)
5851 iwn_collect_noise(struct iwn_softc *sc,
5910 iwn4965_init_gains(struct iwn_softc *sc)
5925 iwn5000_init_gains(struct iwn_softc *sc)
5941 iwn4965_set_gains(struct iwn_softc *sc)
5976 iwn5000_set_gains(struct iwn_softc *sc)
6016 iwn_tune_sensitivity(struct iwn_softc *sc, const struct iwn_rx_stats *stats)
6166 iwn_send_sensitivity(struct iwn_softc *sc)
6217 iwn_check_rx_recovery(struct iwn_softc *sc, struct iwn_stats *rs)
6297 iwn_set_pslevel(struct iwn_softc *sc, int dtim, int level, int async)
6355 iwn_send_btcoex(struct iwn_softc *sc)
6369 iwn_send_advanced_btcoex(struct iwn_softc *sc)
6474 iwn5000_runtime_calib(struct iwn_softc *sc)
6487 iwn_get_rxon_ht_flags(struct iwn_softc *sc, struct ieee80211_channel *c)
6514 iwn_config(struct iwn_softc *sc)
6694 iwn_get_active_dwell_time(struct iwn_softc *sc,
6714 iwn_limit_dwell(struct iwn_softc *sc, uint16_t dwell_time)
6746 iwn_get_passive_dwell_time(struct iwn_softc *sc, struct ieee80211_channel *c)
6761 iwn_scan(struct iwn_softc *sc, struct ieee80211vap *vap,
7022 iwn_auth(struct iwn_softc *sc, struct ieee80211vap *vap)
7094 iwn_run(struct iwn_softc *sc, struct ieee80211vap *vap)
7229 struct iwn_softc *sc = ni->ni_ic->ic_softc;
7265 struct iwn_softc *sc = ic->ic_softc;
7293 struct iwn_softc *sc = ni->ni_ic->ic_softc;
7323 struct iwn_softc *sc = ni->ni_ic->ic_softc;
7352 struct iwn_softc *sc = ni->ni_ic->ic_softc;
7386 struct iwn_softc *sc = ni->ni_ic->ic_softc;
7411 iwn4965_ampdu_tx_start(struct iwn_softc *sc, struct ieee80211_node *ni,
7451 iwn4965_ampdu_tx_stop(struct iwn_softc *sc, int qid, uint8_t tid, uint16_t ssn)
7472 iwn5000_ampdu_tx_start(struct iwn_softc *sc, struct ieee80211_node *ni,
7511 iwn5000_ampdu_tx_stop(struct iwn_softc *sc, int qid, uint8_t tid, uint16_t ssn)
7539 iwn5000_query_calibration(struct iwn_softc *sc)
7566 iwn5000_send_calibration(struct iwn_softc *sc)
7600 iwn5000_send_wimax_coex(struct iwn_softc *sc)
7627 iwn5000_crystal_calib(struct iwn_softc *sc)
7643 iwn5000_temp_offset_calib(struct iwn_softc *sc)
7661 iwn5000_temp_offset_calibv2(struct iwn_softc *sc)
7692 iwn4965_post_alive(struct iwn_softc *sc)
7747 iwn5000_post_alive(struct iwn_softc *sc)
7860 iwn4965_load_bootcode(struct iwn_softc *sc, const uint8_t *ucode, int size)
7902 iwn4965_load_firmware(struct iwn_softc *sc)
7969 iwn5000_load_firmware_section(struct iwn_softc *sc, uint32_t dst,
8008 iwn5000_load_firmware(struct iwn_softc *sc)
8045 iwn_read_firmware_leg(struct iwn_softc *sc, struct iwn_fw_info *fw)
8099 iwn_read_firmware_tlv(struct iwn_softc *sc, struct iwn_fw_info *fw,
8224 iwn_read_firmware(struct iwn_softc *sc)
8289 iwn_unload_firmware(struct iwn_softc *sc)
8296 iwn_clock_wait(struct iwn_softc *sc)
8315 iwn_apm_init(struct iwn_softc *sc)
8369 iwn_apm_stop_master(struct iwn_softc *sc)
8384 iwn_apm_stop(struct iwn_softc *sc)
8396 iwn4965_nic_config(struct iwn_softc *sc)
8417 iwn5000_nic_config(struct iwn_softc *sc)
8468 iwn_hw_prepare(struct iwn_softc *sc)
8506 iwn_hw_init(struct iwn_softc *sc)
8619 iwn_hw_stop(struct iwn_softc *sc)
8673 struct iwn_softc *sc = arg0;
8688 struct iwn_softc *sc = arg0;
8708 struct iwn_softc *sc = arg0;
8753 iwn_init_locked(struct iwn_softc *sc)
8822 iwn_init(struct iwn_softc *sc)
8834 iwn_stop_locked(struct iwn_softc *sc)
8851 iwn_stop(struct iwn_softc *sc)
8864 struct iwn_softc *sc = ic->ic_softc;
8878 struct iwn_softc *sc = ic->ic_softc;
8895 struct iwn_softc *sc = ic->ic_softc;
8922 struct iwn_softc *sc = ic->ic_softc;
8983 iwn_debug_register(struct iwn_softc *sc)