Lines Matching refs:iwm_softc

268 static int	iwm_store_cscheme(struct iwm_softc *, const uint8_t *, size_t);
269 static int iwm_firmware_store_section(struct iwm_softc *,
272 static int iwm_set_default_calib(struct iwm_softc *, const void *);
274 static int iwm_read_firmware(struct iwm_softc *);
275 static int iwm_alloc_fwmem(struct iwm_softc *);
276 static int iwm_alloc_sched(struct iwm_softc *);
277 static int iwm_alloc_kw(struct iwm_softc *);
278 static int iwm_alloc_ict(struct iwm_softc *);
279 static int iwm_alloc_rx_ring(struct iwm_softc *, struct iwm_rx_ring *);
280 static void iwm_reset_rx_ring(struct iwm_softc *, struct iwm_rx_ring *);
281 static void iwm_free_rx_ring(struct iwm_softc *, struct iwm_rx_ring *);
282 static int iwm_alloc_tx_ring(struct iwm_softc *, struct iwm_tx_ring *,
284 static void iwm_reset_tx_ring(struct iwm_softc *, struct iwm_tx_ring *);
285 static void iwm_free_tx_ring(struct iwm_softc *, struct iwm_tx_ring *);
286 static void iwm_enable_interrupts(struct iwm_softc *);
287 static void iwm_restore_interrupts(struct iwm_softc *);
288 static void iwm_disable_interrupts(struct iwm_softc *);
289 static void iwm_ict_reset(struct iwm_softc *);
290 static int iwm_allow_mcast(struct ieee80211vap *, struct iwm_softc *);
291 static void iwm_stop_device(struct iwm_softc *);
292 static void iwm_nic_config(struct iwm_softc *);
293 static int iwm_nic_rx_init(struct iwm_softc *);
294 static int iwm_nic_tx_init(struct iwm_softc *);
295 static int iwm_nic_init(struct iwm_softc *);
296 static int iwm_trans_pcie_fw_alive(struct iwm_softc *, uint32_t);
297 static int iwm_nvm_read_chunk(struct iwm_softc *, uint16_t, uint16_t,
299 static int iwm_nvm_read_section(struct iwm_softc *, uint16_t, uint8_t *,
302 static void iwm_add_channel_band(struct iwm_softc *,
308 iwm_parse_nvm_data(struct iwm_softc *, const uint16_t *,
313 static void iwm_set_hw_address_family_8000(struct iwm_softc *,
317 static int iwm_get_sku(const struct iwm_softc *, const uint16_t *,
319 static int iwm_get_nvm_version(const struct iwm_softc *, const uint16_t *);
320 static int iwm_get_radio_cfg(const struct iwm_softc *, const uint16_t *,
322 static int iwm_get_n_hw_addrs(const struct iwm_softc *,
324 static void iwm_set_radio_cfg(const struct iwm_softc *,
327 iwm_parse_nvm_sections(struct iwm_softc *, struct iwm_nvm_section *);
328 static int iwm_nvm_init(struct iwm_softc *);
329 static int iwm_pcie_load_section(struct iwm_softc *, uint8_t,
331 static int iwm_pcie_load_firmware_chunk(struct iwm_softc *, uint32_t,
333 static int iwm_pcie_load_cpu_sections_8000(struct iwm_softc *sc,
336 static int iwm_pcie_load_cpu_sections(struct iwm_softc *,
339 static int iwm_pcie_load_given_ucode_8000(struct iwm_softc *,
341 static int iwm_pcie_load_given_ucode(struct iwm_softc *,
343 static int iwm_start_fw(struct iwm_softc *, const struct iwm_fw_img *);
344 static int iwm_send_tx_ant_cfg(struct iwm_softc *, uint8_t);
345 static int iwm_send_phy_cfg_cmd(struct iwm_softc *);
346 static int iwm_load_ucode_wait_alive(struct iwm_softc *,
348 static int iwm_run_init_ucode(struct iwm_softc *, int);
349 static int iwm_config_ltr(struct iwm_softc *sc);
350 static int iwm_rx_addbuf(struct iwm_softc *, int, int);
351 static void iwm_rx_rx_phy_cmd(struct iwm_softc *,
353 static int iwm_get_noise(struct iwm_softc *,
355 static void iwm_handle_rx_statistics(struct iwm_softc *,
357 static bool iwm_rx_mpdu(struct iwm_softc *, struct mbuf *,
359 static int iwm_rx_tx_cmd_single(struct iwm_softc *,
362 static void iwm_rx_tx_cmd(struct iwm_softc *, struct iwm_rx_packet *);
363 static void iwm_cmd_done(struct iwm_softc *, struct iwm_rx_packet *);
365 static void iwm_update_sched(struct iwm_softc *, int, int, uint8_t,
369 iwm_tx_fill_cmd(struct iwm_softc *, struct iwm_node *,
371 static int iwm_tx(struct iwm_softc *, struct mbuf *,
375 static int iwm_update_quotas(struct iwm_softc *, struct iwm_vap *);
376 static int iwm_auth(struct ieee80211vap *, struct iwm_softc *);
381 static int iwm_rate2ridx(struct iwm_softc *, uint8_t);
382 static void iwm_setrates(struct iwm_softc *, struct iwm_node *, int);
385 static int iwm_send_bt_init_conf(struct iwm_softc *);
386 static boolean_t iwm_is_lar_supported(struct iwm_softc *);
387 static boolean_t iwm_is_wifi_mcc_supported(struct iwm_softc *);
388 static int iwm_send_update_mcc_cmd(struct iwm_softc *, const char *);
389 static void iwm_tt_tx_backoff(struct iwm_softc *, uint32_t);
390 static int iwm_init_hw(struct iwm_softc *);
391 static void iwm_init(struct iwm_softc *);
392 static void iwm_start(struct iwm_softc *);
393 static void iwm_stop(struct iwm_softc *);
399 static void iwm_nic_error(struct iwm_softc *);
400 static void iwm_nic_umac_error(struct iwm_softc *);
402 static void iwm_handle_rxb(struct iwm_softc *, struct mbuf *);
403 static void iwm_notif_intr(struct iwm_softc *);
408 static int iwm_detach_local(struct iwm_softc *sc, int);
410 static void iwm_radiotap_attach(struct iwm_softc *);
418 static void iwm_xmit_queue_drain(struct iwm_softc *);
435 iwm_store_cscheme(struct iwm_softc *sc, const uint8_t *data, size_t dlen) in iwm_store_cscheme()
449 iwm_firmware_store_section(struct iwm_softc *sc, in iwm_firmware_store_section()
487 iwm_set_default_calib(struct iwm_softc *sc, const void *data) in iwm_set_default_calib()
508 iwm_set_ucode_api_flags(struct iwm_softc *sc, const uint8_t *data, in iwm_set_ucode_api_flags()
533 iwm_set_ucode_capabilities(struct iwm_softc *sc, const uint8_t *data, in iwm_set_ucode_capabilities()
566 iwm_read_firmware(struct iwm_softc *sc) in iwm_read_firmware()
920 iwm_alloc_fwmem(struct iwm_softc *sc) in iwm_alloc_fwmem()
929 iwm_alloc_sched(struct iwm_softc *sc) in iwm_alloc_sched()
938 iwm_alloc_kw(struct iwm_softc *sc) in iwm_alloc_kw()
945 iwm_alloc_ict(struct iwm_softc *sc) in iwm_alloc_ict()
952 iwm_alloc_rx_ring(struct iwm_softc *sc, struct iwm_rx_ring *ring) in iwm_alloc_rx_ring()
1044 iwm_reset_rx_ring(struct iwm_softc *sc, struct iwm_rx_ring *ring) in iwm_reset_rx_ring()
1058 iwm_free_rx_ring(struct iwm_softc *sc, struct iwm_rx_ring *ring) in iwm_free_rx_ring()
1095 iwm_alloc_tx_ring(struct iwm_softc *sc, struct iwm_tx_ring *ring, int qid) in iwm_alloc_tx_ring()
1175 iwm_reset_tx_ring(struct iwm_softc *sc, struct iwm_tx_ring *ring) in iwm_reset_tx_ring()
1203 iwm_free_tx_ring(struct iwm_softc *sc, struct iwm_tx_ring *ring) in iwm_free_tx_ring()
1236 iwm_enable_interrupts(struct iwm_softc *sc) in iwm_enable_interrupts()
1243 iwm_restore_interrupts(struct iwm_softc *sc) in iwm_restore_interrupts()
1249 iwm_disable_interrupts(struct iwm_softc *sc) in iwm_disable_interrupts()
1260 iwm_ict_reset(struct iwm_softc *sc) in iwm_ict_reset()
1293 iwm_stop_device(struct iwm_softc *sc) in iwm_stop_device()
1387 iwm_nic_config(struct iwm_softc *sc) in iwm_nic_config()
1438 iwm_nic_rx_mq_init(struct iwm_softc *sc) in iwm_nic_rx_mq_init()
1491 iwm_nic_rx_legacy_init(struct iwm_softc *sc) in iwm_nic_rx_legacy_init()
1546 iwm_nic_rx_init(struct iwm_softc *sc) in iwm_nic_rx_init()
1555 iwm_nic_tx_init(struct iwm_softc *sc) in iwm_nic_tx_init()
1592 iwm_nic_init(struct iwm_softc *sc) in iwm_nic_init()
1619 iwm_enable_txq(struct iwm_softc *sc, int sta_id, int qid, int fifo) in iwm_enable_txq()
1714 iwm_trans_pcie_fw_alive(struct iwm_softc *sc, uint32_t scd_base_addr) in iwm_trans_pcie_fw_alive()
1803 iwm_nvm_read_chunk(struct iwm_softc *sc, uint16_t section, in iwm_nvm_read_chunk()
1900 iwm_nvm_read_section(struct iwm_softc *sc, in iwm_nvm_read_section()
1966 iwm_add_channel_band(struct iwm_softc *sc, struct ieee80211_channel chans[], in iwm_add_channel_band()
2010 struct iwm_softc *sc = ic->ic_softc; in iwm_init_channel_map()
2040 iwm_set_hw_address_family_8000(struct iwm_softc *sc, struct iwm_nvm_data *data, in iwm_set_hw_address_family_8000()
2099 iwm_get_sku(const struct iwm_softc *sc, const uint16_t *nvm_sw, in iwm_get_sku()
2109 iwm_get_nvm_version(const struct iwm_softc *sc, const uint16_t *nvm_sw) in iwm_get_nvm_version()
2119 iwm_get_radio_cfg(const struct iwm_softc *sc, const uint16_t *nvm_sw, in iwm_get_radio_cfg()
2129 iwm_get_n_hw_addrs(const struct iwm_softc *sc, const uint16_t *nvm_sw) in iwm_get_n_hw_addrs()
2142 iwm_set_radio_cfg(const struct iwm_softc *sc, struct iwm_nvm_data *data, in iwm_set_radio_cfg()
2163 iwm_set_hw_address(struct iwm_softc *sc, struct iwm_nvm_data *data, in iwm_set_hw_address()
2194 iwm_parse_nvm_data(struct iwm_softc *sc, in iwm_parse_nvm_data()
2265 iwm_parse_nvm_sections(struct iwm_softc *sc, struct iwm_nvm_section *sections) in iwm_parse_nvm_sections()
2319 iwm_nvm_init(struct iwm_softc *sc) in iwm_nvm_init()
2375 iwm_pcie_load_section(struct iwm_softc *sc, uint8_t section_num, in iwm_pcie_load_section()
2431 iwm_pcie_load_firmware_chunk(struct iwm_softc *sc, uint32_t dst_addr, in iwm_pcie_load_firmware_chunk()
2478 iwm_pcie_load_cpu_sections_8000(struct iwm_softc *sc, in iwm_pcie_load_cpu_sections_8000()
2540 iwm_pcie_load_cpu_sections(struct iwm_softc *sc, in iwm_pcie_load_cpu_sections()
2582 iwm_pcie_load_given_ucode(struct iwm_softc *sc, const struct iwm_fw_img *image) in iwm_pcie_load_given_ucode()
2620 iwm_pcie_load_given_ucode_8000(struct iwm_softc *sc, in iwm_pcie_load_given_ucode_8000()
2650 iwm_enable_fw_load_int(struct iwm_softc *sc) in iwm_enable_fw_load_int()
2659 iwm_start_fw(struct iwm_softc *sc, const struct iwm_fw_img *fw) in iwm_start_fw()
2716 iwm_send_tx_ant_cfg(struct iwm_softc *sc, uint8_t valid_tx_ant) in iwm_send_tx_ant_cfg()
2728 iwm_send_phy_cfg_cmd(struct iwm_softc *sc) in iwm_send_phy_cfg_cmd()
2747 iwm_alive_fn(struct iwm_softc *sc, struct iwm_rx_packet *pkt, void *data) in iwm_alive_fn()
2797 iwm_wait_phy_db_entry(struct iwm_softc *sc, in iwm_wait_phy_db_entry()
2819 iwm_load_ucode_wait_alive(struct iwm_softc *sc, in iwm_load_ucode_wait_alive()
2915 iwm_run_init_ucode(struct iwm_softc *sc, int justnvm) in iwm_run_init_ucode()
3005 iwm_config_ltr(struct iwm_softc *sc) in iwm_config_ltr()
3023 iwm_rx_addbuf(struct iwm_softc *sc, int size, int idx) in iwm_rx_addbuf()
3070 iwm_rx_rx_phy_cmd(struct iwm_softc *sc, struct iwm_rx_packet *pkt) in iwm_rx_rx_phy_cmd()
3083 iwm_get_noise(struct iwm_softc *sc, in iwm_get_noise()
3119 iwm_handle_rx_statistics(struct iwm_softc *sc, struct iwm_rx_packet *pkt) in iwm_handle_rx_statistics()
3135 iwm_rx_get_signal_strength(struct iwm_softc *sc, in iwm_rx_get_signal_strength()
3162 iwm_rxmq_get_signal_strength(struct iwm_softc *sc, in iwm_rxmq_get_signal_strength()
3180 iwm_rx_rx_mpdu(struct iwm_softc *sc, struct mbuf *m, uint32_t offset, in iwm_rx_rx_mpdu()
3294 iwm_rx_mpdu_mq(struct iwm_softc *sc, struct mbuf *m, uint32_t offset, in iwm_rx_mpdu_mq()
3404 iwm_rx_mpdu(struct iwm_softc *sc, struct mbuf *m, uint32_t offset, in iwm_rx_mpdu()
3440 iwm_rx_tx_cmd_single(struct iwm_softc *sc, struct iwm_rx_packet *pkt, in iwm_rx_tx_cmd_single()
3518 iwm_rx_tx_cmd(struct iwm_softc *sc, struct iwm_rx_packet *pkt) in iwm_rx_tx_cmd()
3574 iwm_cmd_done(struct iwm_softc *sc, struct iwm_rx_packet *pkt) in iwm_cmd_done()
3618 iwm_update_sched(struct iwm_softc *sc, int qid, int idx, uint8_t sta_id,
3646 iwm_tx_rateidx_global_lookup(struct iwm_softc *sc, uint8_t rate) in iwm_tx_rateidx_global_lookup()
3666 iwm_tx_fill_cmd(struct iwm_softc *sc, struct iwm_node *in, in iwm_tx_fill_cmd()
3735 iwm_tx(struct iwm_softc *sc, struct mbuf *m, struct ieee80211_node *ni, int ac) in iwm_tx()
3950 struct iwm_softc *sc = ic->ic_softc; in iwm_raw_xmit()
3991 iwm_flush_tx_path(struct iwm_softc *sc, uint32_t tfd_msk, uint32_t flags) in iwm_flush_tx_path()
4012 iwm_update_quotas(struct iwm_softc *sc, struct iwm_vap *ivp) in iwm_update_quotas()
4091 iwm_auth(struct ieee80211vap *vap, struct iwm_softc *sc) in iwm_auth()
4255 iwm_rate2ridx(struct iwm_softc *sc, uint8_t rate) in iwm_rate2ridx()
4273 iwm_setrates(struct iwm_softc *sc, struct iwm_node *in, int dot11rate) in iwm_setrates()
4376 iwm_bring_down_firmware(struct iwm_softc *sc, struct ieee80211vap *vap) in iwm_bring_down_firmware()
4475 struct iwm_softc *sc = ic->ic_softc; in iwm_newstate()
4605 struct iwm_softc *sc = arg; in iwm_endscan_cb()
4616 iwm_send_bt_init_conf(struct iwm_softc *sc) in iwm_send_bt_init_conf()
4628 iwm_is_lar_supported(struct iwm_softc *sc) in iwm_is_lar_supported()
4647 iwm_is_wifi_mcc_supported(struct iwm_softc *sc) in iwm_is_wifi_mcc_supported()
4654 iwm_send_update_mcc_cmd(struct iwm_softc *sc, const char *alpha2) in iwm_send_update_mcc_cmd()
4726 iwm_tt_tx_backoff(struct iwm_softc *sc, uint32_t backoff) in iwm_tt_tx_backoff()
4741 iwm_init_hw(struct iwm_softc *sc) in iwm_init_hw()
4858 iwm_allow_mcast(struct ieee80211vap *vap, struct iwm_softc *sc) in iwm_allow_mcast()
4887 iwm_init(struct iwm_softc *sc) in iwm_init()
4912 struct iwm_softc *sc; in iwm_transmit()
4936 iwm_start(struct iwm_softc *sc) in iwm_start()
4962 iwm_stop(struct iwm_softc *sc) in iwm_stop()
4977 struct iwm_softc *sc = arg; in iwm_watchdog()
5000 struct iwm_softc *sc = ic->ic_softc; in iwm_parent()
5024 struct iwm_softc *sc = arg; in iwm_rftoggle_task()
5171 iwm_nic_umac_error(struct iwm_softc *sc) in iwm_nic_umac_error()
5225 iwm_nic_error(struct iwm_softc *sc) in iwm_nic_error()
5299 iwm_handle_rxb(struct iwm_softc *sc, struct mbuf *m) in iwm_handle_rxb()
5625 iwm_notif_intr(struct iwm_softc *sc) in iwm_notif_intr()
5674 struct iwm_softc *sc = arg; in iwm_intr()
5881 struct iwm_softc *sc; in iwm_dev_check()
5904 struct iwm_softc *sc; in iwm_pci_attach()
5958 struct iwm_softc *sc = device_get_softc(dev); in iwm_pci_detach()
5974 struct iwm_softc *sc = device_get_softc(dev); in iwm_attach()
6211 struct iwm_softc *sc = ic->ic_softc; in iwm_wme_update()
6257 struct iwm_softc *sc = arg; in iwm_preinit()
6329 iwm_radiotap_attach(struct iwm_softc *sc) in iwm_radiotap_attach()
6389 iwm_xmit_queue_drain(struct iwm_softc *sc) in iwm_xmit_queue_drain()
6405 struct iwm_softc *sc = ic->ic_softc; in iwm_scan_start()
6433 struct iwm_softc *sc = ic->ic_softc; in iwm_scan_end()
6481 struct iwm_softc *sc = arg1; in iwm_init_task()
6498 struct iwm_softc *sc = device_get_softc(dev); in iwm_resume()
6529 struct iwm_softc *sc = device_get_softc(dev); in iwm_suspend()
6549 iwm_detach_local(struct iwm_softc *sc, int do_net80211) in iwm_detach_local()
6611 struct iwm_softc *sc = device_get_softc(dev); in iwm_detach()
6630 sizeof (struct iwm_softc)