FreeBSD kernel WPI device code
|
#include <sys/cdefs.h>
#include "opt_wlan.h"
#include "opt_wpi.h"
#include <sys/param.h>
#include <sys/sysctl.h>
#include <sys/sockio.h>
#include <sys/mbuf.h>
#include <sys/kernel.h>
#include <sys/socket.h>
#include <sys/systm.h>
#include <sys/malloc.h>
#include <sys/queue.h>
#include <sys/taskqueue.h>
#include <sys/module.h>
#include <sys/bus.h>
#include <sys/endian.h>
#include <sys/linker.h>
#include <sys/firmware.h>
#include <machine/bus.h>
#include <machine/resource.h>
#include <sys/rman.h>
#include <dev/pci/pcireg.h>
#include <dev/pci/pcivar.h>
#include <net/bpf.h>
#include <net/if.h>
#include <net/if_var.h>
#include <net/if_arp.h>
#include <net/ethernet.h>
#include <net/if_dl.h>
#include <net/if_media.h>
#include <net/if_types.h>
#include <netinet/in.h>
#include <netinet/in_systm.h>
#include <netinet/in_var.h>
#include <netinet/if_ether.h>
#include <netinet/ip.h>
#include <net80211/ieee80211_var.h>
#include <net80211/ieee80211_radiotap.h>
#include <net80211/ieee80211_regdomain.h>
#include <net80211/ieee80211_ratectl.h>
#include <dev/wpi/if_wpireg.h>
#include <dev/wpi/if_wpivar.h>
#include <dev/wpi/if_wpi_debug.h>
Go to the source code of this file.
Data Structures | |
struct | wpi_ident |
Macros | |
#define | WPI_CHK(res) |
#define | WPI_RATE_IS_OFDM(rate) ((rate) >= 12 && (rate) != 22) |
#define | WPI_EXP2(x) ((1 << (x)) - 1) /* CWmin = 2^ECWmin - 1 */ |
#define | fdivround(a, b, n) ((((1 << n) * (a)) / (b) + (1 << n) / 2) / (1 << n)) |
#define | interpolate(x, x1, y1, x2, y2, n) ((y1) + fdivround(((x) - (x1)) * ((y2) - (y1)), (x2) - (x1), n)) |
Functions | |
__FBSDID ("$FreeBSD$") | |
static int | wpi_probe (device_t) |
static int | wpi_attach (device_t) |
static void | wpi_radiotap_attach (struct wpi_softc *) |
static void | wpi_sysctlattach (struct wpi_softc *) |
static void | wpi_init_beacon (struct wpi_vap *) |
static struct ieee80211vap * | wpi_vap_create (struct ieee80211com *, const char[IFNAMSIZ], int, enum ieee80211_opmode, int, const uint8_t[IEEE80211_ADDR_LEN], const uint8_t[IEEE80211_ADDR_LEN]) |
static void | wpi_vap_delete (struct ieee80211vap *) |
static int | wpi_detach (device_t) |
static int | wpi_shutdown (device_t) |
static int | wpi_suspend (device_t) |
static int | wpi_resume (device_t) |
static int | wpi_nic_lock (struct wpi_softc *) |
static int | wpi_read_prom_data (struct wpi_softc *, uint32_t, void *, int) |
static void | wpi_dma_map_addr (void *, bus_dma_segment_t *, int, int) |
static int | wpi_dma_contig_alloc (struct wpi_softc *, struct wpi_dma_info *, void **, bus_size_t, bus_size_t) |
static void | wpi_dma_contig_free (struct wpi_dma_info *) |
static int | wpi_alloc_shared (struct wpi_softc *) |
static void | wpi_free_shared (struct wpi_softc *) |
static int | wpi_alloc_fwmem (struct wpi_softc *) |
static void | wpi_free_fwmem (struct wpi_softc *) |
static int | wpi_alloc_rx_ring (struct wpi_softc *) |
static void | wpi_update_rx_ring (struct wpi_softc *) |
static void | wpi_update_rx_ring_ps (struct wpi_softc *) |
static void | wpi_reset_rx_ring (struct wpi_softc *) |
static void | wpi_free_rx_ring (struct wpi_softc *) |
static int | wpi_alloc_tx_ring (struct wpi_softc *, struct wpi_tx_ring *, uint8_t) |
static void | wpi_update_tx_ring (struct wpi_softc *, struct wpi_tx_ring *) |
static void | wpi_update_tx_ring_ps (struct wpi_softc *, struct wpi_tx_ring *) |
static void | wpi_reset_tx_ring (struct wpi_softc *, struct wpi_tx_ring *) |
static void | wpi_free_tx_ring (struct wpi_softc *, struct wpi_tx_ring *) |
static int | wpi_read_eeprom (struct wpi_softc *, uint8_t macaddr[IEEE80211_ADDR_LEN]) |
static uint32_t | wpi_eeprom_channel_flags (struct wpi_eeprom_chan *) |
static void | wpi_read_eeprom_band (struct wpi_softc *, uint8_t, int, int *, struct ieee80211_channel[]) |
static int | wpi_read_eeprom_channels (struct wpi_softc *, uint8_t) |
static struct wpi_eeprom_chan * | wpi_find_eeprom_channel (struct wpi_softc *, struct ieee80211_channel *) |
static void | wpi_getradiocaps (struct ieee80211com *, int, int *, struct ieee80211_channel[]) |
static int | wpi_setregdomain (struct ieee80211com *, struct ieee80211_regdomain *, int, struct ieee80211_channel[]) |
static int | wpi_read_eeprom_group (struct wpi_softc *, uint8_t) |
static struct ieee80211_node * | wpi_node_alloc (struct ieee80211vap *, const uint8_t mac[IEEE80211_ADDR_LEN]) |
static void | wpi_node_free (struct ieee80211_node *) |
static void | wpi_ibss_recv_mgmt (struct ieee80211_node *, struct mbuf *, int, const struct ieee80211_rx_stats *, int, int) |
static void | wpi_restore_node (void *, struct ieee80211_node *) |
static void | wpi_restore_node_table (struct wpi_softc *, struct wpi_vap *) |
static int | wpi_newstate (struct ieee80211vap *, enum ieee80211_state, int) |
static void | wpi_calib_timeout (void *) |
static void | wpi_rx_done (struct wpi_softc *, struct wpi_rx_desc *, struct wpi_rx_data *) |
static void | wpi_rx_statistics (struct wpi_softc *, struct wpi_rx_desc *, struct wpi_rx_data *) |
static void | wpi_tx_done (struct wpi_softc *, struct wpi_rx_desc *) |
static void | wpi_cmd_done (struct wpi_softc *, struct wpi_rx_desc *) |
static void | wpi_notif_intr (struct wpi_softc *) |
static void | wpi_wakeup_intr (struct wpi_softc *) |
static void | wpi_fatal_intr (struct wpi_softc *) |
static void | wpi_intr (void *) |
static void | wpi_free_txfrags (struct wpi_softc *, uint16_t) |
static int | wpi_cmd2 (struct wpi_softc *, struct wpi_buf *) |
static int | wpi_tx_data (struct wpi_softc *, struct mbuf *, struct ieee80211_node *) |
static int | wpi_tx_data_raw (struct wpi_softc *, struct mbuf *, struct ieee80211_node *, const struct ieee80211_bpf_params *) |
static int | wpi_raw_xmit (struct ieee80211_node *, struct mbuf *, const struct ieee80211_bpf_params *) |
static int | wpi_transmit (struct ieee80211com *, struct mbuf *) |
static void | wpi_watchdog_rfkill (void *) |
static void | wpi_scan_timeout (void *) |
static void | wpi_tx_timeout (void *) |
static void | wpi_parent (struct ieee80211com *) |
static int | wpi_cmd (struct wpi_softc *, uint8_t, const void *, uint16_t, int) |
static int | wpi_mrr_setup (struct wpi_softc *) |
static int | wpi_add_node (struct wpi_softc *, struct ieee80211_node *) |
static int | wpi_add_broadcast_node (struct wpi_softc *, int) |
static int | wpi_add_ibss_node (struct wpi_softc *, struct ieee80211_node *) |
static void | wpi_del_node (struct wpi_softc *, struct ieee80211_node *) |
static int | wpi_updateedca (struct ieee80211com *) |
static void | wpi_set_promisc (struct wpi_softc *) |
static void | wpi_update_promisc (struct ieee80211com *) |
static void | wpi_update_mcast (struct ieee80211com *) |
static void | wpi_set_led (struct wpi_softc *, uint8_t, uint8_t, uint8_t) |
static int | wpi_set_timing (struct wpi_softc *, struct ieee80211_node *) |
static void | wpi_power_calibration (struct wpi_softc *) |
static int | wpi_set_txpower (struct wpi_softc *, int) |
static int | wpi_get_power_index (struct wpi_softc *, struct wpi_power_group *, uint8_t, int, int) |
static int | wpi_set_pslevel (struct wpi_softc *, uint8_t, int, int) |
static int | wpi_send_btcoex (struct wpi_softc *) |
static int | wpi_send_rxon (struct wpi_softc *, int, int) |
static int | wpi_config (struct wpi_softc *) |
static uint16_t | wpi_get_active_dwell_time (struct wpi_softc *, struct ieee80211_channel *, uint8_t) |
static uint16_t | wpi_limit_dwell (struct wpi_softc *, uint16_t) |
static uint16_t | wpi_get_passive_dwell_time (struct wpi_softc *, struct ieee80211_channel *) |
static uint32_t | wpi_get_scan_pause_time (uint32_t, uint16_t) |
static int | wpi_scan (struct wpi_softc *, struct ieee80211_channel *) |
static int | wpi_auth (struct wpi_softc *, struct ieee80211vap *) |
static int | wpi_config_beacon (struct wpi_vap *) |
static int | wpi_setup_beacon (struct wpi_softc *, struct ieee80211_node *) |
static void | wpi_update_beacon (struct ieee80211vap *, int) |
static void | wpi_newassoc (struct ieee80211_node *, int) |
static int | wpi_run (struct wpi_softc *, struct ieee80211vap *) |
static int | wpi_load_key (struct ieee80211_node *, const struct ieee80211_key *) |
static void | wpi_load_key_cb (void *, struct ieee80211_node *) |
static int | wpi_set_global_keys (struct ieee80211_node *) |
static int | wpi_del_key (struct ieee80211_node *, const struct ieee80211_key *) |
static void | wpi_del_key_cb (void *, struct ieee80211_node *) |
static int | wpi_process_key (struct ieee80211vap *, const struct ieee80211_key *, int) |
static int | wpi_key_set (struct ieee80211vap *, const struct ieee80211_key *) |
static int | wpi_key_delete (struct ieee80211vap *, const struct ieee80211_key *) |
static int | wpi_post_alive (struct wpi_softc *) |
static int | wpi_load_bootcode (struct wpi_softc *, const uint8_t *, uint32_t) |
static int | wpi_load_firmware (struct wpi_softc *) |
static int | wpi_read_firmware (struct wpi_softc *) |
static void | wpi_unload_firmware (struct wpi_softc *) |
static int | wpi_clock_wait (struct wpi_softc *) |
static int | wpi_apm_init (struct wpi_softc *) |
static void | wpi_apm_stop_master (struct wpi_softc *) |
static void | wpi_apm_stop (struct wpi_softc *) |
static void | wpi_nic_config (struct wpi_softc *) |
static int | wpi_hw_init (struct wpi_softc *) |
static void | wpi_hw_stop (struct wpi_softc *) |
static void | wpi_radio_on (void *, int) |
static void | wpi_radio_off (void *, int) |
static int | wpi_init (struct wpi_softc *) |
static void | wpi_stop_locked (struct wpi_softc *) |
static void | wpi_stop (struct wpi_softc *) |
static void | wpi_scan_start (struct ieee80211com *) |
static void | wpi_scan_end (struct ieee80211com *) |
static void | wpi_set_channel (struct ieee80211com *) |
static void | wpi_scan_curchan (struct ieee80211_scan_state *, unsigned long) |
static void | wpi_scan_mindwell (struct ieee80211_scan_state *) |
DRIVER_MODULE (wpi, pci, wpi_driver, wpi_devclass, NULL, NULL) | |
MODULE_VERSION (wpi, 1) | |
MODULE_DEPEND (wpi, pci, 1, 1, 1) | |
MODULE_DEPEND (wpi, wlan, 1, 1, 1) | |
MODULE_DEPEND (wpi, firmware, 1, 1, 1) | |
static __inline void | wpi_nic_unlock (struct wpi_softc *sc) |
static __inline uint32_t | wpi_prph_read (struct wpi_softc *sc, uint32_t addr) |
static __inline void | wpi_prph_write (struct wpi_softc *sc, uint32_t addr, uint32_t data) |
static __inline void | wpi_prph_setbits (struct wpi_softc *sc, uint32_t addr, uint32_t mask) |
static __inline void | wpi_prph_clrbits (struct wpi_softc *sc, uint32_t addr, uint32_t mask) |
static __inline void | wpi_prph_write_region_4 (struct wpi_softc *sc, uint32_t addr, const uint32_t *data, uint32_t count) |
static __inline uint32_t | wpi_mem_read (struct wpi_softc *sc, uint32_t addr) |
static __inline void | wpi_mem_read_region_4 (struct wpi_softc *sc, uint32_t addr, uint32_t *data, int count) |
static __inline uint8_t | wpi_add_node_entry_adhoc (struct wpi_softc *sc) |
static __inline uint8_t | wpi_add_node_entry_sta (struct wpi_softc *sc) |
static __inline int | wpi_check_node_entry (struct wpi_softc *sc, uint8_t id) |
static __inline void | wpi_clear_node_table (struct wpi_softc *sc) |
static __inline void | wpi_del_node_entry (struct wpi_softc *sc, uint8_t id) |
static __inline int | wpi_check_bss_filter (struct wpi_softc *sc) |
static __inline uint8_t | rate2plcp (const uint8_t rate) |
static __inline uint8_t | plcp2rate (const uint8_t plcp) |
static __inline int | wpi_tx_ring_free_space (struct wpi_softc *sc, uint16_t ac) |
static int | wpi_add_sta_node (struct wpi_softc *sc, struct ieee80211_node *ni) |
Variables | |
static const struct wpi_ident | wpi_ident_table [] |
static device_method_t | wpi_methods [] |
static driver_t | wpi_driver |
static devclass_t | wpi_devclass |
#define fdivround | ( | a, | |
b, | |||
n | |||
) | ((((1 << n) * (a)) / (b) + (1 << n) / 2) / (1 << n)) |
#define interpolate | ( | x, | |
x1, | |||
y1, | |||
x2, | |||
y2, | |||
n | |||
) | ((y1) + fdivround(((x) - (x1)) * ((y2) - (y1)), (x2) - (x1), n)) |
#define WPI_CHK | ( | res | ) |
#define WPI_EXP2 | ( | x | ) | ((1 << (x)) - 1) /* CWmin = 2^ECWmin - 1 */ |
#define WPI_RATE_IS_OFDM | ( | rate | ) | ((rate) >= 12 && (rate) != 22) |
__FBSDID | ( | "$FreeBSD$" | ) |
DRIVER_MODULE | ( | wpi | , |
pci | , | ||
wpi_driver | , | ||
wpi_devclass | , | ||
NULL | , | ||
NULL | |||
) |
MODULE_DEPEND | ( | wpi | , |
firmware | , | ||
1 | , | ||
1 | , | ||
1 | |||
) |
MODULE_DEPEND | ( | wpi | , |
pci | , | ||
1 | , | ||
1 | , | ||
1 | |||
) |
MODULE_DEPEND | ( | wpi | , |
wlan | , | ||
1 | , | ||
1 | , | ||
1 | |||
) |
MODULE_VERSION | ( | wpi | , |
1 | |||
) |
|
static |
Definition at line 1886 of file if_wpi.c.
Referenced by wpi_rx_done().
|
static |
Definition at line 1866 of file if_wpi.c.
Referenced by wpi_tx_data(), and wpi_tx_data_raw().
|
static |
Definition at line 3432 of file if_wpi.c.
References wpi_node_info::action, wpi_node_info::antenna, DPRINTF, wpi_node_info::id, wpi_node_info::macaddr, wpi_node_info::plcp, wpi_softc::sc_ic, WPI_ACTION_SET_RATE, WPI_ANTENNA_BOTH, wpi_cmd(), WPI_CMD_ADD_NODE, WPI_ID_BROADCAST, WPI_RIDX_CCK1, WPI_RIDX_OFDM6, and wpi_ridx_to_plcp.
Referenced by wpi_send_rxon().
|
static |
Definition at line 3472 of file if_wpi.c.
References DPRINTF, wpi_node::id, wpi_node::ni, wpi_softc::sc_dev, wpi_add_node(), wpi_add_node_entry_adhoc(), wpi_del_node_entry(), WPI_ID_UNDEFINED, and WPI_NODE.
Referenced by wpi_newassoc(), and wpi_restore_node().
|
static |
Definition at line 3384 of file if_wpi.c.
References wpi_node_info::action, wpi_node_info::antenna, DPRINTF, wpi_node_info::id, wpi_node::id, wpi_node_info::macaddr, wpi_node::ni, wpi_node_info::plcp, wpi_softc::sc_dev, WPI_ACTION_SET_RATE, WPI_ANTENNA_BOTH, wpi_cmd(), WPI_CMD_ADD_NODE, WPI_ID_UNDEFINED, WPI_NODE, WPI_RIDX_CCK1, WPI_RIDX_OFDM6, wpi_ridx_to_plcp, wpi_set_global_keys(), WPI_VAP, and wpi_vap::wv_gtk.
Referenced by wpi_add_ibss_node(), and wpi_add_sta_node().
|
static |
Definition at line 1579 of file if_wpi.c.
References wpi_softc::nodesmsk, WPI_ID_IBSS_MAX, WPI_ID_IBSS_MIN, and WPI_ID_UNDEFINED.
Referenced by wpi_add_ibss_node().
|
static |
Definition at line 1594 of file if_wpi.c.
References wpi_softc::nodesmsk, and WPI_ID_BSS.
Referenced by wpi_add_sta_node().
|
static |
Definition at line 3453 of file if_wpi.c.
References DPRINTF, wpi_node::id, wpi_node::ni, wpi_add_node(), wpi_add_node_entry_sta(), wpi_del_node_entry(), WPI_ID_UNDEFINED, and WPI_NODE.
Referenced by wpi_run().
|
static |
Definition at line 979 of file if_wpi.c.
References wpi_softc::fw_dma, wpi_dma_contig_alloc(), WPI_FW_DATA_MAXSZ, and WPI_FW_TEXT_MAXSZ.
Referenced by wpi_attach().
|
static |
Definition at line 993 of file if_wpi.c.
References wpi_rx_ring::cur, wpi_rx_ring::data, wpi_rx_ring::data_dmat, wpi_rx_ring::desc, wpi_rx_ring::desc_dma, DPRINTF, wpi_rx_data::m, wpi_dma_info::map, wpi_rx_data::map, wpi_softc::rxq, wpi_softc::sc_dev, wpi_dma_info::tag, wpi_rx_ring::update, wpi_dma_contig_alloc(), wpi_dma_map_addr(), wpi_free_rx_ring(), WPI_RING_DMA_ALIGN, and WPI_RX_RING_COUNT.
Referenced by wpi_attach().
|
static |
Definition at line 962 of file if_wpi.c.
References wpi_softc::shared, wpi_softc::shared_dma, and wpi_dma_contig_alloc().
Referenced by wpi_attach().
|
static |
Definition at line 1159 of file if_wpi.c.
References wpi_tx_ring::cmd, wpi_tx_ring::cmd_dma, wpi_tx_data::cmd_paddr, wpi_tx_ring::cur, wpi_tx_cmd::data, wpi_tx_ring::data, wpi_tx_ring::data_dmat, wpi_tx_ring::desc, wpi_tx_ring::desc_dma, DPRINTF, wpi_dma_info::map, wpi_dma_info::paddr, wpi_tx_ring::pending, wpi_tx_ring::qid, wpi_tx_ring::queued, wpi_softc::sc_dev, wpi_softc::shared, wpi_softc::shared_dma, wpi_dma_info::tag, wpi_shared::txbase, wpi_tx_ring::update, wpi_dma_contig_alloc(), wpi_free_tx_ring(), WPI_MAX_SCATTER, WPI_RING_DMA_ALIGN, and WPI_TX_RING_COUNT.
Referenced by wpi_attach().
|
static |
Definition at line 5143 of file if_wpi.c.
References DPRINTF, wpi_softc::sc_cap_off, wpi_softc::sc_dev, WPI_ANA_PLL, WPI_ANA_PLL_INIT, WPI_APMG_CLK_CTRL_BSM_CLK_RQT, WPI_APMG_CLK_CTRL_DMA_CLK_RQT, WPI_APMG_CLK_DIS, WPI_APMG_CLK_EN, WPI_APMG_PCI_STT, WPI_APMG_PCI_STT_L1A_DIS, WPI_APMG_PS, wpi_clock_wait(), WPI_CLRBITS, WPI_DBG_HPET_MEM, WPI_GIO, WPI_GIO_CHICKEN, WPI_GIO_CHICKEN_DIS_L0S_TIMER, WPI_GIO_CHICKEN_L1A_NO_L0S_RX, WPI_GIO_L0S_ENA, wpi_nic_lock(), wpi_nic_unlock(), wpi_prph_clrbits(), wpi_prph_setbits(), wpi_prph_write(), and WPI_SETBITS.
Referenced by wpi_hw_init(), and wpi_read_eeprom().
|
static |
Definition at line 5211 of file if_wpi.c.
References wpi_apm_stop_master(), WPI_CLRBITS, WPI_GP_CNTRL, WPI_GP_CNTRL_INIT_DONE, WPI_RESET, WPI_RESET_SW, and WPI_SETBITS.
Referenced by wpi_hw_stop(), and wpi_read_eeprom().
|
static |
Definition at line 5190 of file if_wpi.c.
References wpi_softc::sc_dev, WPI_GP_CNTRL, WPI_GP_CNTRL_MAC_PS, WPI_GP_CNTRL_PS_MASK, WPI_READ, WPI_RESET, WPI_RESET_MASTER_DISABLED, WPI_RESET_STOP_MASTER, and WPI_SETBITS.
Referenced by wpi_apm_stop().
|
static |
Definition at line 331 of file if_wpi.c.
References wpi_softc::calib_to, wpi_softc::domain, DPRINTF, wpi_softc::irq, wpi_softc::mem, wpi_ident::name, wpi_softc::rev, wpi_softc::rxon_mtx, wpi_softc::sc_cap_off, wpi_softc::sc_debug, wpi_softc::sc_dev, wpi_softc::sc_ic, wpi_softc::sc_ih, wpi_softc::sc_mtx, wpi_softc::sc_node_free, wpi_softc::sc_radiooff_task, wpi_softc::sc_radioon_task, wpi_softc::sc_sh, wpi_softc::sc_st, wpi_softc::sc_txs, wpi_softc::sc_update_rx_ring, wpi_softc::sc_update_tx_ring, wpi_softc::scan_timeout, wpi_ident::subdevice, wpi_softc::tx_timeout, wpi_softc::txq, wpi_softc::txq_state_mtx, wpi_softc::type, wpi_softc::watchdog_rfkill, wpi_alloc_fwmem(), wpi_alloc_rx_ring(), wpi_alloc_shared(), wpi_alloc_tx_ring(), wpi_detach(), WPI_DRV_NTXQUEUES, wpi_getradiocaps(), wpi_ident_table, WPI_INT, wpi_intr(), WPI_LOCK_INIT, wpi_newassoc(), wpi_node_alloc(), wpi_node_free(), WPI_NT_LOCK_INIT, wpi_parent(), wpi_radio_off(), wpi_radio_on(), wpi_radiotap_attach(), wpi_raw_xmit(), wpi_read_eeprom(), WPI_RXON_LOCK_INIT, wpi_scan_curchan(), wpi_scan_end(), wpi_scan_mindwell(), wpi_scan_start(), wpi_set_channel(), wpi_setregdomain(), wpi_sysctlattach(), wpi_transmit(), WPI_TX_LOCK_INIT, WPI_TXQ_LOCK_INIT, WPI_TXQ_STATE_LOCK_INIT, wpi_update_mcast(), wpi_update_promisc(), wpi_update_rx_ring(), wpi_update_tx_ring(), wpi_updateedca(), wpi_vap_create(), wpi_vap_delete(), and WPI_WRITE.
|
static |
Definition at line 4291 of file if_wpi.c.
References wpi_rxon::associd, wpi_rxon::bssid, wpi_rxon::cck_mask, wpi_rxon::chan, DPRINTF, wpi_rxon::filter, wpi_rxon::flags, wpi_rxon::ofdm_mask, wpi_softc::rxon, wpi_softc::sc_dev, WPI_FILTER_BSS, WPI_RXON_24GHZ, WPI_RXON_AUTO, WPI_RXON_CTS_TO_SELF, WPI_RXON_LOCK, WPI_RXON_SHPREAMBLE, WPI_RXON_SHSLOT, WPI_RXON_TSF, WPI_RXON_UNLOCK, and wpi_send_rxon().
Referenced by wpi_newstate().
|
static |
Definition at line 1853 of file if_wpi.c.
References wpi_softc::calib_to, wpi_calib_timeout(), wpi_check_bss_filter(), and wpi_power_calibration().
Referenced by wpi_calib_timeout(), wpi_newstate(), and wpi_run().
|
static |
Definition at line 1657 of file if_wpi.c.
References wpi_rxon::filter, wpi_softc::rxon, and WPI_FILTER_BSS.
Referenced by wpi_calib_timeout(), wpi_newstate(), wpi_scan(), and wpi_send_rxon().
|
static |
Definition at line 1602 of file if_wpi.c.
References wpi_softc::nodesmsk, and WPI_ID_UNDEFINED.
Referenced by wpi_del_key(), wpi_load_key(), and wpi_node_free().
|
static |
Definition at line 1611 of file if_wpi.c.
References wpi_softc::nodesmsk.
Referenced by wpi_notif_intr(), and wpi_send_rxon().
|
static |
Definition at line 5123 of file if_wpi.c.
References wpi_softc::sc_dev, WPI_GP_CNTRL, WPI_GP_CNTRL_INIT_DONE, WPI_GP_CNTRL_MAC_CLOCK_READY, WPI_READ, and WPI_SETBITS.
Referenced by wpi_apm_init().
|
static |
Definition at line 3233 of file if_wpi.c.
References wpi_tx_desc::addr, wpi_tx_ring::cmd, wpi_tx_ring::cmd_dma, wpi_tx_data::cmd_paddr, wpi_tx_cmd::code, wpi_tx_ring::cur, wpi_tx_cmd::data, wpi_tx_ring::data, wpi_tx_ring::data_dmat, wpi_tx_ring::desc, wpi_tx_ring::desc_dma, DPRINTF, wpi_tx_cmd::flags, wpi_tx_cmd::idx, wpi_tx_desc::len, wpi_tx_data::m, wpi_dma_info::map, wpi_tx_data::map, wpi_tx_desc::nsegs, wpi_tx_cmd::qid, wpi_tx_ring::qid, wpi_softc::sc_mtx, wpi_softc::sc_running, wpi_softc::sc_update_tx_ring, wpi_tx_desc::segs, wpi_dma_info::tag, wpi_softc::txq, WPI_CMD_QUEUE_NUM, WPI_CMD_SCAN, wpi_dma_map_addr(), WPI_LOCK_ASSERT, WPI_PAD32, WPI_TX_RING_COUNT, WPI_TXQ_LOCK, and WPI_TXQ_UNLOCK.
Referenced by wpi_add_broadcast_node(), wpi_add_node(), wpi_del_key(), wpi_del_node(), wpi_load_key(), wpi_mrr_setup(), wpi_notif_intr(), wpi_scan(), wpi_send_btcoex(), wpi_send_rxon(), wpi_set_led(), wpi_set_pslevel(), wpi_set_timing(), wpi_set_txpower(), and wpi_updateedca().
Definition at line 2628 of file if_wpi.c.
References wpi_buf::ac, wpi_tx_desc::addr, wpi_tx_ring::cmd, wpi_tx_ring::cmd_dma, wpi_tx_data::cmd_paddr, wpi_tx_cmd::code, wpi_buf::code, wpi_tx_ring::cur, wpi_tx_cmd::data, wpi_buf::data, wpi_tx_ring::data, wpi_tx_ring::data_dmat, wpi_tx_ring::desc, wpi_tx_ring::desc_dma, DPRINTF, wpi_tx_cmd::flags, wpi_tx_data::hdrlen, wpi_tx_cmd::idx, wpi_tx_desc::len, wpi_tx_data::m, wpi_buf::m, wpi_dma_info::map, wpi_tx_data::map, wpi_tx_data::ni, wpi_buf::ni, wpi_tx_desc::nsegs, wpi_tx_ring::pending, wpi_tx_cmd::qid, wpi_tx_ring::qid, wpi_tx_ring::queued, wpi_softc::sc_dev, wpi_softc::sc_running, wpi_softc::sc_update_tx_ring, wpi_tx_desc::segs, wpi_buf::size, wpi_dma_info::tag, wpi_softc::tx_timeout, wpi_softc::txq, WPI_CMD_QUEUE_NUM, WPI_MAX_SCATTER, WPI_PAD32, WPI_TX_RING_COUNT, wpi_tx_timeout(), WPI_TXQ_LOCK, WPI_TXQ_STATE_LOCK, WPI_TXQ_STATE_UNLOCK, and WPI_TXQ_UNLOCK.
Referenced by wpi_config_beacon(), wpi_tx_data(), and wpi_tx_data_raw().
|
static |
Definition at line 2134 of file if_wpi.c.
References wpi_tx_ring::cmd, wpi_tx_ring::cmd_dma, wpi_tx_cmd::data, wpi_tx_ring::data, wpi_tx_ring::data_dmat, DPRINTF, wpi_rx_desc::flags, wpi_pmgt_cmd::flags, wpi_rx_desc::idx, wpi_rx_desc::len, wpi_dma_info::map, wpi_rx_desc::qid, wpi_tx_ring::queued, wpi_softc::sc_update_rx_ring, wpi_softc::sc_update_tx_ring, wpi_softc::txq, wpi_rx_desc::type, WPI_CMD_QUEUE_NUM, WPI_CMD_SET_POWER_MODE, WPI_PS_ALLOW_SLEEP, WPI_RX_DESC_QID_MSK, WPI_TXQ_LOCK, WPI_TXQ_UNLOCK, wpi_update_rx_ring(), wpi_update_rx_ring_ps(), wpi_update_tx_ring(), and wpi_update_tx_ring_ps().
Referenced by wpi_notif_intr().
|
static |
Configure the card to listen to a particular channel, this transisions the card in to being able to receive frames from remote devices.
Definition at line 3935 of file if_wpi.c.
References wpi_rxon::cck_mask, wpi_rxon::chan, DPRINTF, wpi_rxon::filter, wpi_rxon::flags, wpi_rxon::mode, wpi_rxon::myaddr, wpi_rxon::ofdm_mask, wpi_softc::rxon, wpi_softc::sc_dev, wpi_softc::sc_ic, WPI_FILTER_ASSOC, WPI_FILTER_BEACON, WPI_FILTER_MULTICAST, WPI_FILTER_PROMISC, WPI_MODE_HOSTAP, WPI_MODE_IBSS, WPI_MODE_MONITOR, WPI_MODE_STA, wpi_mrr_setup(), WPI_RXON_24GHZ, WPI_RXON_AUTO, WPI_RXON_CTS_TO_SELF, WPI_RXON_TSF, wpi_send_btcoex(), wpi_send_rxon(), wpi_set_promisc(), and wpi_set_pslevel().
Referenced by wpi_init().
|
static |
Definition at line 4343 of file if_wpi.c.
References wpi_buf::data, DPRINTF, wpi_cmd_beacon::len, wpi_buf::m, wpi_cmd_beacon::plcp, wpi_softc::sc_dev, wpi_cmd_beacon::tim, wpi_cmd_beacon::timsz, wpi_cmd2(), WPI_RIDX_CCK1, WPI_RIDX_OFDM6, wpi_ridx_to_plcp, WPI_VAP_LOCK_ASSERT, wpi_vap::wv_bcbuf, and wpi_vap::wv_vap.
Referenced by wpi_setup_beacon(), and wpi_update_beacon().
|
static |
Definition at line 4698 of file if_wpi.c.
References wpi_node_info::control, DPRINTF, wpi_node_info::flags, wpi_node_info::id, wpi_node::id, wpi_node_info::kflags, wpi_node::ni, wpi_softc::sc_dev, wpi_check_node_entry(), wpi_cmd(), WPI_CMD_ADD_NODE, WPI_FLAG_KEY_SET, WPI_KFLAG_KID, WPI_KFLAG_MULTICAST, WPI_NODE, and WPI_NODE_UPDATE.
Referenced by wpi_del_key_cb(), and wpi_process_key().
|
static |
Definition at line 4747 of file if_wpi.c.
References wpi_node::id, wpi_node::ni, wpi_softc::sc_dev, wpi_del_key(), WPI_ID_UNDEFINED, WPI_NODE, WPI_NT_LOCK, and WPI_NT_UNLOCK.
Referenced by wpi_process_key().
|
static |
Definition at line 3497 of file if_wpi.c.
References wpi_cmd_del_node::count, DPRINTF, wpi_node::id, wpi_cmd_del_node::macaddr, wpi_node::ni, wpi_softc::sc_dev, wpi_cmd(), WPI_CMD_DEL_NODE, WPI_ID_UNDEFINED, and WPI_NODE.
Referenced by wpi_node_free().
|
static |
Definition at line 1617 of file if_wpi.c.
References wpi_softc::nodesmsk.
Referenced by wpi_add_ibss_node(), wpi_add_sta_node(), and wpi_node_free().
|
static |
Definition at line 683 of file if_wpi.c.
References wpi_softc::calib_to, wpi_tx_ring::data_dmat, DPRINTF, wpi_softc::fw_dma, wpi_softc::irq, wpi_softc::mem, wpi_softc::sc_ic, wpi_softc::sc_ih, wpi_softc::sc_radiooff_task, wpi_softc::sc_radioon_task, wpi_softc::scan_timeout, wpi_dma_info::tag, wpi_softc::tx_timeout, wpi_softc::txq, wpi_softc::watchdog_rfkill, WPI_DRV_NTXQUEUES, wpi_free_fwmem(), wpi_free_rx_ring(), wpi_free_shared(), wpi_free_tx_ring(), WPI_LOCK_DESTROY, WPI_NT_LOCK_DESTROY, WPI_RXON_LOCK_DESTROY, wpi_stop(), WPI_TX_LOCK_DESTROY, WPI_TXQ_LOCK_DESTROY, WPI_TXQ_STATE_LOCK_DESTROY, and wpi_vap_create().
Referenced by wpi_attach().
|
static |
Definition at line 907 of file if_wpi.c.
References wpi_dma_info::map, wpi_dma_info::paddr, wpi_softc::sc_dev, wpi_dma_info::size, wpi_dma_info::tag, wpi_dma_info::vaddr, wpi_dma_contig_free(), and wpi_dma_map_addr().
Referenced by wpi_alloc_fwmem(), wpi_alloc_rx_ring(), wpi_alloc_shared(), and wpi_alloc_tx_ring().
|
static |
Definition at line 943 of file if_wpi.c.
References wpi_dma_info::map, wpi_dma_info::tag, and wpi_dma_info::vaddr.
Referenced by wpi_dma_contig_alloc(), wpi_free_fwmem(), wpi_free_rx_ring(), wpi_free_shared(), and wpi_free_tx_ring().
|
static |
Definition at line 894 of file if_wpi.c.
Referenced by wpi_alloc_rx_ring(), wpi_cmd(), wpi_dma_contig_alloc(), and wpi_rx_done().
|
static |
Definition at line 1392 of file if_wpi.c.
References wpi_eeprom_chan::flags, WPI_EEPROM_CHAN_ACTIVE, WPI_EEPROM_CHAN_IBSS, and WPI_EEPROM_CHAN_RADAR.
Referenced by wpi_read_eeprom_band(), and wpi_setregdomain().
|
static |
Definition at line 2478 of file if_wpi.c.
References wpi_tx_ring::cur, wpi_rx_ring::cur, wpi_softc::errptr, wpi_tx_ring::qid, wpi_tx_ring::queued, wpi_softc::rxq, wpi_softc::txq, WPI_DRV_NTXQUEUES, WPI_FW_DATA_BASE, WPI_FW_DATA_MAXSZ, wpi_fw_errmsg, wpi_mem_read(), wpi_mem_read_region_4(), wpi_nic_lock(), wpi_nic_unlock(), WPI_TXQ_LOCK, and WPI_TXQ_UNLOCK.
Referenced by wpi_intr().
|
static |
Definition at line 1488 of file if_wpi.c.
References wpi_softc::eeprom_channels, wpi_chan_band::nchan, wpi_bands, and WPI_CHAN_BANDS_COUNT.
Referenced by wpi_setregdomain().
|
static |
Definition at line 987 of file if_wpi.c.
References wpi_softc::fw_dma, and wpi_dma_contig_free().
Referenced by wpi_detach().
|
static |
Definition at line 1130 of file if_wpi.c.
References wpi_rx_ring::data, wpi_rx_ring::data_dmat, wpi_rx_ring::desc_dma, DPRINTF, wpi_rx_data::m, wpi_rx_data::map, wpi_softc::rxq, wpi_dma_contig_free(), and WPI_RX_RING_COUNT.
Referenced by wpi_alloc_rx_ring(), and wpi_detach().
|
static |
Definition at line 970 of file if_wpi.c.
References wpi_softc::shared_dma, and wpi_dma_contig_free().
Referenced by wpi_detach().
|
static |
Definition at line 1293 of file if_wpi.c.
References wpi_tx_ring::cmd_dma, wpi_tx_ring::data, wpi_tx_ring::data_dmat, wpi_tx_ring::desc_dma, DPRINTF, wpi_tx_data::m, wpi_tx_data::map, wpi_dma_contig_free(), and WPI_TX_RING_COUNT.
Referenced by wpi_alloc_tx_ring(), and wpi_detach().
|
static |
Definition at line 2600 of file if_wpi.c.
References wpi_tx_ring::cur, wpi_tx_ring::data, wpi_tx_ring::data_dmat, wpi_tx_data::m, wpi_tx_data::map, wpi_tx_data::ni, wpi_tx_ring::pending, wpi_softc::txq, WPI_TX_RING_COUNT, WPI_TXQ_LOCK, and WPI_TXQ_UNLOCK.
Referenced by wpi_transmit().
|
static |
Definition at line 4017 of file if_wpi.c.
References WPI_ACTIVE_DWELL_FACTOR_2GHZ, WPI_ACTIVE_DWELL_FACTOR_5GHZ, WPI_ACTIVE_DWELL_TIME_2GHZ, and WPI_ACTIVE_DWELL_TIME_5GHZ.
Referenced by wpi_scan().
|
static |
Definition at line 4065 of file if_wpi.c.
References wpi_limit_dwell(), WPI_PASSIVE_DWELL_BASE, WPI_PASSIVE_DWELL_TIME_2GHZ, and WPI_PASSIVE_DWELL_TIME_5GHZ.
Referenced by wpi_scan().
|
static |
Definition at line 3733 of file if_wpi.c.
References wpi_power_sample::index, interpolate, wpi_power_group::maxpwr, wpi_softc::maxpwr, wpi_power_sample::power, wpi_power_group::samples, wpi_power_group::temp, wpi_softc::temp, WPI_MAX_PWR_INDEX, WPI_RIDX_CCK1, WPI_RIDX_OFDM36, WPI_RIDX_OFDM48, and WPI_RIDX_OFDM54.
Referenced by wpi_set_txpower().
|
static |
Definition at line 4079 of file if_wpi.c.
References WPI_PAUSE_MAX_TIME, and WPI_PAUSE_SCAN.
Referenced by wpi_scan().
|
static |
Definition at line 1502 of file if_wpi.c.
References WPI_CHAN_BANDS_COUNT, and wpi_read_eeprom_band().
Referenced by wpi_attach().
|
static |
Definition at line 5249 of file if_wpi.c.
References wpi_rx_ring::desc_dma, DPRINTF, wpi_dma_info::paddr, wpi_softc::rxq, wpi_softc::sc_dev, wpi_softc::sc_mtx, wpi_softc::shared_dma, WPI_ALM_SCHED_ARASTAT, WPI_ALM_SCHED_MODE, WPI_ALM_SCHED_SBYPASS_MODE1, WPI_ALM_SCHED_SBYPASS_MODE2, WPI_ALM_SCHED_TXF4MF, WPI_ALM_SCHED_TXF5MF, WPI_ALM_SCHED_TXFACT, wpi_apm_init(), WPI_APMG_PS, WPI_APMG_PS_PWR_SRC_MASK, WPI_FH_CBBC_BASE, WPI_FH_CBBC_CTRL, WPI_FH_MSG_CONFIG, WPI_FH_RSSR_TBL, WPI_FH_RX_BASE, WPI_FH_RX_CONFIG, WPI_FH_RX_CONFIG_DMA_ENA, WPI_FH_RX_CONFIG_IRQ_DST_HOST, WPI_FH_RX_CONFIG_IRQ_TIMEOUT, WPI_FH_RX_CONFIG_MAXFRAG, WPI_FH_RX_CONFIG_NRBD, WPI_FH_RX_CONFIG_RDRBD_ENA, WPI_FH_RX_CONFIG_WRSTATUS_ENA, WPI_FH_RX_RPTR_ADDR, WPI_FH_RX_WPTR, WPI_FH_TX_BASE, WPI_FH_TX_CONFIG, WPI_GPIO_IN, WPI_GPIO_IN_VMAIN, WPI_INT, WPI_INT_MASK, WPI_INT_MASK_DEF, wpi_load_firmware(), WPI_NDMACHNLS, wpi_nic_config(), wpi_nic_lock(), wpi_nic_unlock(), wpi_post_alive(), wpi_prph_clrbits(), wpi_prph_write(), WPI_READ, WPI_RX_RING_COUNT, WPI_RX_RING_COUNT_LOG, WPI_UCODE_GP1_CLR, WPI_UCODE_GP1_CMD_BLOCKED, WPI_UCODE_GP1_RFKILL, and WPI_WRITE.
Referenced by wpi_init().
|
static |
Definition at line 5365 of file if_wpi.c.
References DPRINTF, wpi_softc::txq, WPI_ALM_SCHED_MODE, WPI_ALM_SCHED_TXFACT, wpi_apm_stop(), WPI_APMG_CLK_CTRL_DMA_CLK_RQT, WPI_APMG_CLK_DIS, WPI_DRV_NTXQUEUES, WPI_FH_INT, WPI_FH_TX_CONFIG, WPI_FH_TX_STATUS, WPI_FH_TX_STATUS_IDLE, WPI_INT, WPI_INT_MASK, WPI_NDMACHNLS, wpi_nic_lock(), wpi_nic_unlock(), wpi_prph_write(), WPI_READ, WPI_RESET, WPI_RESET_NEVO, wpi_reset_rx_ring(), wpi_reset_tx_ring(), WPI_UCODE_GP1, WPI_UCODE_GP1_MAC_SLEEP, and WPI_WRITE.
Referenced by wpi_stop_locked().
|
static |
Definition at line 1663 of file if_wpi.c.
References DPRINTF, wpi_softc::rx_tstamp, WPI_VAP, and wpi_vap::wv_recv_mgmt.
Referenced by wpi_vap_create().
|
static |
Definition at line 5457 of file if_wpi.c.
References DPRINTF, wpi_softc::sc_dev, wpi_softc::sc_running, wpi_softc::watchdog_rfkill, wpi_config(), WPI_GP_CNTRL, WPI_GP_CNTRL_RFKILL, wpi_hw_init(), WPI_LOCK, WPI_READ, wpi_read_firmware(), wpi_stop_locked(), wpi_unload_firmware(), WPI_UNLOCK, and wpi_watchdog_rfkill().
Referenced by wpi_parent().
|
static |
Definition at line 600 of file if_wpi.c.
References wpi_buf::ac, wpi_cmd_beacon::cck_mask, wpi_buf::code, wpi_buf::data, wpi_cmd_beacon::flags, wpi_cmd_beacon::id, wpi_cmd_beacon::lifetime, wpi_cmd_beacon::ofdm_mask, wpi_buf::size, WPI_CMD_QUEUE_NUM, WPI_CMD_SET_BEACON, WPI_ID_BROADCAST, WPI_LIFETIME_INFINITE, WPI_TX_INSERT_TSTAMP, WPI_TX_NEED_ACK, and wpi_vap::wv_bcbuf.
Referenced by wpi_vap_create().
|
static |
Definition at line 2538 of file if_wpi.c.
References DPRINTF, wpi_softc::sc_dev, wpi_softc::sc_ic, wpi_softc::sc_running, wpi_fatal_intr(), WPI_FH_INT, WPI_FH_INT_RX, WPI_INT, WPI_INT_ALIVE, WPI_INT_FH_RX, WPI_INT_HW_ERR, WPI_INT_MASK, WPI_INT_MASK_DEF, WPI_INT_SW_ERR, WPI_INT_SW_RX, WPI_INT_WAKEUP, WPI_LOCK, wpi_notif_intr(), WPI_READ, WPI_UNLOCK, wpi_wakeup_intr(), and WPI_WRITE.
Referenced by wpi_attach().
|
static |
Definition at line 4850 of file if_wpi.c.
References wpi_process_key().
Referenced by wpi_vap_create().
|
static |
Definition at line 4844 of file if_wpi.c.
References wpi_process_key().
Referenced by wpi_vap_create().
|
static |
Definition at line 4037 of file if_wpi.c.
References DPRINTF, wpi_softc::sc_ic, and WPI_CHANNEL_TUNE_TIME.
Referenced by wpi_get_passive_dwell_time().
|
static |
Definition at line 4901 of file if_wpi.c.
References DPRINTF, wpi_softc::sc_dev, WPI_BSM_SRAM_BASE, WPI_BSM_WR_CTRL, WPI_BSM_WR_CTRL_START, WPI_BSM_WR_CTRL_START_EN, WPI_BSM_WR_DWCOUNT, WPI_BSM_WR_MEM_DST, WPI_BSM_WR_MEM_SRC, WPI_FH_TX_STATUS, WPI_FH_TX_STATUS_IDLE, WPI_FW_TEXT_BASE, wpi_nic_lock(), wpi_nic_unlock(), wpi_prph_write(), wpi_prph_write_region_4(), and WPI_READ.
Referenced by wpi_load_firmware().
|
static |
Definition at line 4952 of file if_wpi.c.
References wpi_fw_info::boot, wpi_fw_part::data, wpi_fw_part::datasz, DPRINTF, wpi_softc::fw, wpi_softc::fw_dma, wpi_fw_info::init, wpi_fw_info::main, wpi_dma_info::map, wpi_dma_info::paddr, wpi_softc::sc_dev, wpi_softc::sc_mtx, wpi_dma_info::tag, wpi_fw_part::text, wpi_fw_part::textsz, wpi_dma_info::vaddr, WPI_BSM_DRAM_DATA_ADDR, WPI_BSM_DRAM_DATA_SIZE, WPI_BSM_DRAM_TEXT_ADDR, WPI_BSM_DRAM_TEXT_SIZE, WPI_FW_DATA_MAXSZ, WPI_FW_UPDATED, wpi_load_bootcode(), wpi_nic_lock(), wpi_nic_unlock(), wpi_prph_write(), WPI_RESET, and WPI_WRITE.
Referenced by wpi_hw_init().
|
static |
Definition at line 4598 of file if_wpi.c.
References wpi_node_info::control, DPRINTF, wpi_node_info::flags, wpi_node_info::id, wpi_node::id, wpi_node_info::key, wpi_node_info::kflags, wpi_node::ni, wpi_softc::sc_dev, wpi_check_node_entry(), wpi_cmd(), WPI_CMD_ADD_NODE, WPI_FLAG_KEY_SET, WPI_KFLAG_CCMP, WPI_KFLAG_KID, WPI_KFLAG_MULTICAST, WPI_NODE, and WPI_NODE_UPDATE.
Referenced by wpi_load_key_cb(), wpi_process_key(), and wpi_set_global_keys().
|
static |
Definition at line 4662 of file if_wpi.c.
References wpi_node::id, wpi_node::ni, wpi_softc::sc_dev, WPI_ID_UNDEFINED, wpi_load_key(), WPI_NODE, WPI_NT_LOCK, and WPI_NT_UNLOCK.
Referenced by wpi_process_key().
|
static |
Definition at line 841 of file if_wpi.c.
References WPI_BARRIER_READ_WRITE, WPI_MEM_RADDR, WPI_MEM_RDATA, WPI_READ, and WPI_WRITE.
Referenced by wpi_fatal_intr(), and wpi_mem_read_region_4().
|
static |
Definition at line 849 of file if_wpi.c.
References wpi_mem_read().
Referenced by wpi_fatal_intr().
|
static |
Definition at line 3334 of file if_wpi.c.
References wpi_mrr_setup::flags, wpi_mrr_setup::next, wpi_mrr_setup::ntries, wpi_mrr_setup::plcp, wpi_mrr_setup::rates, wpi_softc::sc_dev, wpi_softc::sc_ic, wpi_mrr_setup::which, wpi_cmd(), WPI_CMD_MRR_SETUP, WPI_MRR_CTL, WPI_MRR_DATA, WPI_NTRIES_DEFAULT, WPI_RIDX_CCK1, WPI_RIDX_CCK11, WPI_RIDX_CCK2, WPI_RIDX_OFDM54, WPI_RIDX_OFDM6, and wpi_ridx_to_plcp.
Referenced by wpi_config().
|
static |
Definition at line 4471 of file if_wpi.c.
References DPRINTF, wpi_node::id, wpi_node::ni, wpi_softc::sc_dev, wpi_add_ibss_node(), WPI_ID_UNDEFINED, WPI_NODE, WPI_NT_LOCK, and WPI_NT_UNLOCK.
Referenced by wpi_attach().
|
static |
Called by net80211 when ever there is a change to 80211 state machine
Definition at line 1726 of file if_wpi.c.
References DPRINTF, wpi_rxon::filter, wpi_softc::rxon, wpi_softc::sc_dev, wpi_softc::sc_running, wpi_auth(), wpi_calib_timeout(), wpi_check_bss_filter(), WPI_FILTER_BSS, WPI_LED_LINK, wpi_restore_node_table(), wpi_run(), WPI_RXON_LOCK, WPI_RXON_UNLOCK, wpi_send_rxon(), wpi_set_led(), wpi_set_pslevel(), WPI_TXQ_LOCK, WPI_TXQ_UNLOCK, wpi_updateedca(), WPI_VAP, and wpi_vap::wv_newstate.
Referenced by wpi_vap_create().
|
static |
Definition at line 5223 of file if_wpi.c.
References wpi_softc::cap, DPRINTF, wpi_softc::rev, wpi_softc::sc_dev, wpi_softc::type, WPI_CLRBITS, WPI_HW_IF_CONFIG, WPI_HW_IF_CONFIG_ALM_MB, WPI_HW_IF_CONFIG_ALM_MM, WPI_HW_IF_CONFIG_REV_D, WPI_HW_IF_CONFIG_SKU_MRC, WPI_HW_IF_CONFIG_TYPE_B, and WPI_SETBITS.
Referenced by wpi_hw_init().
|
static |
Definition at line 774 of file if_wpi.c.
References wpi_softc::sc_dev, WPI_GP_CNTRL, WPI_GP_CNTRL_MAC_ACCESS_ENA, WPI_GP_CNTRL_MAC_ACCESS_REQ, WPI_GP_CNTRL_SLEEP, WPI_READ, and WPI_SETBITS.
Referenced by wpi_apm_init(), wpi_fatal_intr(), wpi_hw_init(), wpi_hw_stop(), wpi_load_bootcode(), wpi_load_firmware(), wpi_post_alive(), wpi_read_prom_data(), and wpi_reset_rx_ring().
|
static |
Definition at line 799 of file if_wpi.c.
References WPI_CLRBITS, WPI_GP_CNTRL, and WPI_GP_CNTRL_MAC_ACCESS_REQ.
Referenced by wpi_apm_init(), wpi_fatal_intr(), wpi_hw_init(), wpi_hw_stop(), wpi_load_bootcode(), wpi_load_firmware(), wpi_post_alive(), wpi_read_prom_data(), and wpi_reset_rx_ring().
|
static |
Definition at line 1623 of file if_wpi.c.
References wpi_node::id, wpi_node::ni, and WPI_ID_UNDEFINED.
Referenced by wpi_attach().
|
static |
Definition at line 1639 of file if_wpi.c.
References wpi_node::id, wpi_node::ni, wpi_softc::sc_node_free, wpi_check_node_entry(), wpi_del_node(), wpi_del_node_entry(), WPI_ID_UNDEFINED, WPI_NODE, WPI_NT_LOCK, and WPI_NT_UNLOCK.
Referenced by wpi_attach().
|
static |
Definition at line 2183 of file if_wpi.c.
References wpi_tx_stat::ackfailcnt, wpi_tx_stat::btkillcnt, wpi_start_scan::chan, wpi_stop_scan::chan, wpi_beacon_missed::consecutive, wpi_rx_ring::cur, wpi_rx_ring::data, wpi_rx_ring::data_dmat, DPRINTF, wpi_tx_stat::duration, wpi_ucode_info::errptr, wpi_softc::errptr, wpi_beacon_missed::expected, wpi_rx_desc::flags, wpi_rx_desc::idx, wpi_rx_desc::len, wpi_rx_data::m, wpi_ucode_info::major, wpi_dma_info::map, wpi_rx_data::map, wpi_ucode_info::minor, wpi_stop_scan::nchan, wpi_shared::next, wpi_rx_desc::qid, wpi_tx_stat::rate, wpi_beacon_missed::received, wpi_tx_stat::rtsfailcnt, wpi_softc::rxq, wpi_softc::sc_dev, wpi_softc::sc_ic, wpi_softc::sc_radiooff_task, wpi_softc::sc_running, wpi_softc::sc_update_rx_ring, wpi_softc::scan_timeout, wpi_softc::shared, wpi_softc::shared_dma, wpi_tx_stat::status, wpi_start_scan::status, wpi_stop_scan::status, wpi_ucode_info::subtype, wpi_dma_info::tag, wpi_beacon_missed::total, wpi_rx_desc::type, wpi_ucode_info::valid, WPI_BEACON_MISSED, WPI_BEACON_SENT, WPI_BEACON_STATISTICS, wpi_clear_node_table(), wpi_cmd(), wpi_cmd_done(), WPI_CMD_SCAN_ABORT, WPI_NT_LOCK, WPI_NT_UNLOCK, wpi_rx_done(), WPI_RX_DONE, WPI_RX_RING_COUNT, wpi_rx_statistics(), WPI_RX_STATISTICS, WPI_RXON_LOCK, WPI_RXON_UNLOCK, WPI_SCAN_ABORTED, WPI_START_SCAN, WPI_STATE_CHANGED, wpi_stop_locked(), WPI_STOP_SCAN, wpi_tx_done(), WPI_TX_DONE, WPI_UC_READY, and WPI_UNSOLICITED_RX_NOTIF.
Referenced by wpi_intr().
|
static |
Definition at line 3210 of file if_wpi.c.
References wpi_init(), and wpi_stop().
Referenced by wpi_attach().
|
static |
Definition at line 4860 of file if_wpi.c.
References DPRINTF, wpi_softc::sc_dev, wpi_softc::temp, WPI_APMG_RFKILL, wpi_nic_lock(), wpi_nic_unlock(), wpi_prph_read(), WPI_READ, and WPI_UCODE_GP2.
Referenced by wpi_hw_init().
|
static |
Definition at line 3647 of file if_wpi.c.
References DPRINTF, wpi_softc::sc_dev, wpi_softc::temp, WPI_READ, wpi_set_txpower(), and WPI_UCODE_GP2.
Referenced by wpi_calib_timeout().
|
static |
Definition at line 316 of file if_wpi.c.
References wpi_ident::device, wpi_ident::name, wpi_ident::vendor, and wpi_ident_table.
|
static |
Definition at line 4769 of file if_wpi.c.
References DPRINTF, wpi_softc::sc_dev, wpi_del_key(), wpi_del_key_cb(), wpi_load_key(), wpi_load_key_cb(), WPI_NT_LOCK, WPI_NT_UNLOCK, WPI_VAP, WPI_VAP_KEY, and wpi_vap::wv_gtk.
Referenced by wpi_key_delete(), and wpi_key_set().
|
static |
Definition at line 827 of file if_wpi.c.
References wpi_prph_read(), and wpi_prph_write().
Referenced by wpi_apm_init(), and wpi_hw_init().
|
static |
Definition at line 805 of file if_wpi.c.
References WPI_BARRIER_READ_WRITE, WPI_PRPH_DWORD, WPI_PRPH_RADDR, WPI_PRPH_RDATA, WPI_READ, and WPI_WRITE.
Referenced by wpi_post_alive(), wpi_prph_clrbits(), wpi_prph_setbits(), and wpi_watchdog_rfkill().
|
static |
Definition at line 821 of file if_wpi.c.
References wpi_prph_read(), and wpi_prph_write().
Referenced by wpi_apm_init().
|
static |
Definition at line 813 of file if_wpi.c.
References WPI_BARRIER_WRITE, WPI_PRPH_DWORD, WPI_PRPH_WADDR, WPI_PRPH_WDATA, and WPI_WRITE.
Referenced by wpi_apm_init(), wpi_hw_init(), wpi_hw_stop(), wpi_load_bootcode(), wpi_load_firmware(), wpi_prph_clrbits(), wpi_prph_setbits(), and wpi_prph_write_region_4().
|
static |
Definition at line 833 of file if_wpi.c.
References wpi_prph_write().
Referenced by wpi_load_bootcode().
|
static |
Definition at line 5438 of file if_wpi.c.
References wpi_softc::sc_dev, wpi_softc::sc_ic, wpi_softc::watchdog_rfkill, WPI_LOCK, wpi_stop(), WPI_UNLOCK, and wpi_watchdog_rfkill().
Referenced by wpi_attach().
|
static |
Definition at line 5421 of file if_wpi.c.
References wpi_softc::sc_dev, wpi_softc::sc_ic, wpi_softc::watchdog_rfkill, WPI_LOCK, and WPI_UNLOCK.
Referenced by wpi_attach().
|
static |
Definition at line 574 of file if_wpi.c.
References DPRINTF, wpi_softc::sc_ic, wpi_softc::sc_rxtap, wpi_softc::sc_txtap, WPI_RX_RADIOTAP_PRESENT, WPI_TX_RADIOTAP_PRESENT, wpi_rx_radiotap_header::wr_ihdr, and wpi_tx_radiotap_header::wt_ihdr.
Referenced by wpi_attach().
|
static |
Definition at line 3074 of file if_wpi.c.
References DPRINTF, wpi_softc::sc_running, wpi_tx_data(), wpi_tx_data_raw(), WPI_TX_LOCK, wpi_tx_ring_free_space(), and WPI_TX_UNLOCK.
Referenced by wpi_attach().
|
static |
Definition at line 1324 of file if_wpi.c.
References wpi_softc::cap, wpi_softc::domain, DPRINTF, wpi_softc::rev, wpi_softc::sc_dev, wpi_softc::type, wpi_apm_init(), wpi_apm_stop(), WPI_CHAN_BANDS_COUNT, WPI_CHK, WPI_CLRBITS, WPI_EEPROM_DOMAIN, WPI_EEPROM_GP, WPI_EEPROM_GP_IF_OWNER, WPI_EEPROM_MAC, WPI_EEPROM_REVISION, WPI_EEPROM_SKU_CAP, WPI_EEPROM_TYPE, WPI_POWER_GROUPS_COUNT, WPI_READ, wpi_read_eeprom_channels(), wpi_read_eeprom_group(), and wpi_read_prom_data().
Referenced by wpi_attach().
|
static |
Definition at line 1415 of file if_wpi.c.
References wpi_chan_band::chan, DPRINTF, wpi_softc::eeprom_channels, wpi_eeprom_chan::maxpwr, wpi_softc::maxpwr, wpi_chan_band::nchan, wpi_bands, WPI_EEPROM_CHAN_VALID, and wpi_eeprom_channel_flags().
Referenced by wpi_getradiocaps(), and wpi_read_eeprom_channels().
|
static |
Read the eeprom to find out what channels are valid for the given band and update net80211 with what we find.
Definition at line 1462 of file if_wpi.c.
References wpi_chan_band::addr, DPRINTF, wpi_softc::eeprom_channels, wpi_chan_band::nchan, wpi_softc::sc_ic, wpi_bands, wpi_read_eeprom_band(), and wpi_read_prom_data().
Referenced by wpi_read_eeprom().
|
static |
Definition at line 1540 of file if_wpi.c.
References wpi_eeprom_group::chan, wpi_power_group::chan, DPRINTF, wpi_softc::groups, wpi_eeprom_sample::index, wpi_power_sample::index, wpi_eeprom_group::maxpwr, wpi_power_group::maxpwr, wpi_eeprom_sample::power, wpi_power_sample::power, wpi_eeprom_group::samples, wpi_power_group::samples, wpi_eeprom_group::temp, wpi_power_group::temp, WPI_EEPROM_POWER_GRP, wpi_read_prom_data(), and WPI_SAMPLES_COUNT.
Referenced by wpi_read_eeprom().
|
static |
Definition at line 5016 of file if_wpi.c.
References wpi_fw_info::boot, wpi_firmware_hdr::btextsz, wpi_fw_part::data, wpi_fw_info::data, wpi_fw_part::datasz, DPRINTF, wpi_firmware_hdr::driver, wpi_softc::fw, wpi_softc::fw_fp, wpi_firmware_hdr::idatasz, wpi_fw_info::init, wpi_firmware_hdr::itextsz, wpi_fw_info::main, wpi_firmware_hdr::major, wpi_firmware_hdr::minor, wpi_firmware_hdr::rdatasz, wpi_firmware_hdr::rtextsz, wpi_softc::sc_dev, wpi_fw_info::size, wpi_fw_part::text, wpi_fw_part::textsz, WPI_FW_BOOT_TEXT_MAXSZ, WPI_FW_DATA_MAXSZ, WPI_FW_NAME, WPI_FW_TEXT_MAXSZ, WPI_LOCK, wpi_unload_firmware(), and WPI_UNLOCK.
Referenced by wpi_init().
|
static |
Definition at line 857 of file if_wpi.c.
References DPRINTF, wpi_softc::sc_dev, WPI_EEPROM, WPI_EEPROM_READ_VALID, wpi_nic_lock(), wpi_nic_unlock(), WPI_READ, and WPI_WRITE.
Referenced by wpi_read_eeprom(), wpi_read_eeprom_channels(), and wpi_read_eeprom_group().
|
static |
Definition at line 1107 of file if_wpi.c.
References wpi_rx_ring::cur, DPRINTF, wpi_softc::rxq, wpi_rx_ring::update, WPI_FH_RX_CONFIG, WPI_FH_RX_STATUS, WPI_FH_RX_STATUS_IDLE, wpi_nic_lock(), wpi_nic_unlock(), WPI_READ, and WPI_WRITE.
Referenced by wpi_hw_stop().
|
static |
Definition at line 1261 of file if_wpi.c.
References wpi_tx_ring::cur, wpi_tx_ring::data, wpi_tx_ring::data_dmat, wpi_tx_ring::desc, wpi_tx_ring::desc_dma, DPRINTF, wpi_tx_data::m, wpi_dma_info::map, wpi_tx_data::map, wpi_tx_data::ni, wpi_tx_ring::pending, wpi_tx_ring::queued, wpi_dma_info::size, wpi_dma_info::tag, wpi_tx_ring::update, and WPI_TX_RING_COUNT.
Referenced by wpi_hw_stop().
|
static |
Definition at line 1690 of file if_wpi.c.
References wpi_node::id, wpi_node::ni, wpi_softc::sc_dev, wpi_add_ibss_node(), WPI_ID_UNDEFINED, WPI_NODE, WPI_NT_LOCK, and WPI_NT_UNLOCK.
Referenced by wpi_restore_node_table().
Definition at line 1709 of file if_wpi.c.
References wpi_softc::sc_ic, WPI_NT_LOCK, WPI_NT_UNLOCK, wpi_restore_node(), and wpi_vap::wv_gtk.
Referenced by wpi_newstate().
|
static |
Definition at line 758 of file if_wpi.c.
References wpi_softc::sc_ic.
|
static |
Definition at line 4493 of file if_wpi.c.
References wpi_rxon::associd, wpi_rxon::bssid, wpi_softc::calib_to, wpi_rxon::cck_mask, wpi_rxon::chan, DPRINTF, wpi_rxon::filter, wpi_rxon::flags, wpi_rxon::ofdm_mask, wpi_softc::rxon, wpi_softc::sc_dev, wpi_add_sta_node(), wpi_calib_timeout(), WPI_FILTER_BSS, WPI_LED_LINK, WPI_NT_LOCK, WPI_NT_UNLOCK, WPI_RXON_24GHZ, WPI_RXON_AUTO, WPI_RXON_CTS_TO_SELF, WPI_RXON_LOCK, WPI_RXON_SHPREAMBLE, WPI_RXON_SHSLOT, WPI_RXON_TSF, WPI_RXON_UNLOCK, wpi_send_rxon(), wpi_set_led(), wpi_set_pslevel(), wpi_set_timing(), and wpi_setup_beacon().
Referenced by wpi_newstate().
|
static |
Definition at line 1909 of file if_wpi.c.
References wpi_rx_head::chan, wpi_rx_ring::cur, wpi_rx_ring::data_dmat, wpi_rx_ring::desc, wpi_rx_ring::desc_dma, DPRINTF, wpi_rx_head::flags, wpi_rx_tail::flags, wpi_rx_desc::len, wpi_rx_stat::len, wpi_rx_head::len, wpi_rx_data::m, wpi_dma_info::map, wpi_rx_data::map, wpi_rx_head::plcp, plcp2rate(), wpi_rx_stat::rssi, wpi_softc::rx_tstamp, wpi_softc::rxq, wpi_softc::sc_dev, wpi_softc::sc_ic, wpi_softc::sc_rxtap, wpi_dma_info::tag, wpi_rx_tail::tstamp, wpi_dma_map_addr(), WPI_LOCK, WPI_RSSI_OFFSET, WPI_RX_CIPHER_CCMP, WPI_RX_CIPHER_MASK, WPI_RX_DECRYPT_MASK, WPI_RX_DECRYPT_OK, WPI_RX_NOERROR, WPI_STAT_FLAG_SHPREAMBLE, WPI_STAT_MAXLEN, WPI_UNLOCK, wpi_rx_radiotap_header::wr_antenna, wpi_rx_radiotap_header::wr_dbm_antnoise, wpi_rx_radiotap_header::wr_dbm_antsignal, wpi_rx_radiotap_header::wr_flags, wpi_rx_radiotap_header::wr_rate, and wpi_rx_radiotap_header::wr_tsft.
Referenced by wpi_notif_intr().
|
static |
Definition at line 2053 of file if_wpi.c.
Referenced by wpi_notif_intr().
|
static |
Definition at line 4094 of file if_wpi.c.
References wpi_rxon::chan, wpi_scan_chan::chan, wpi_scan_hdr::crc_threshold, wpi_scan_essid::data, DPRINTF, wpi_scan_hdr::filter, wpi_cmd_data::flags, wpi_scan_hdr::flags, wpi_cmd_data::id, wpi_scan_essid::id, wpi_cmd_data::len, wpi_scan_essid::len, wpi_scan_hdr::len, wpi_cmd_data::lifetime, wpi_scan_hdr::max_svc, wpi_scan_hdr::nchan, wpi_scan_hdr::pause_svc, wpi_cmd_data::plcp, wpi_scan_hdr::quiet_threshold, wpi_scan_hdr::quiet_time, wpi_softc::rxon, wpi_softc::sc_debug, wpi_softc::sc_dev, wpi_softc::sc_ic, wpi_softc::scan_timeout, WPI_CHAN_ACTIVE, WPI_CHAN_NPBREQS, WPI_CHANNEL_TUNE_TIME, wpi_check_bss_filter(), wpi_cmd(), WPI_CMD_SCAN, WPI_FILTER_BEACON, WPI_FILTER_MULTICAST, wpi_get_active_dwell_time(), wpi_get_passive_dwell_time(), wpi_get_scan_pause_time(), WPI_ID_BROADCAST, WPI_LIFETIME_INFINITE, WPI_QUIET_TIME_DEFAULT, WPI_RIDX_CCK1, WPI_RIDX_OFDM6, wpi_ridx_to_plcp, WPI_RXON_24GHZ, WPI_RXON_AUTO, WPI_SCAN_CRC_TH_DEFAULT, WPI_SCAN_CRC_TH_NEVER, WPI_SCAN_MAX_ESSIDS, WPI_SCAN_MAXSZ, wpi_scan_timeout(), and WPI_TX_AUTO_SEQ.
Referenced by wpi_scan_curchan().
|
static |
Called by net80211 to indicate that we need to scan the current channel. The channel is previously be set via the wpi_set_channel callback.
Definition at line 5630 of file if_wpi.c.
References WPI_RXON_LOCK, WPI_RXON_UNLOCK, and wpi_scan().
Referenced by wpi_attach().
|
static |
Definition at line 5571 of file if_wpi.c.
References WPI_LED_LINK, and wpi_set_led().
Referenced by wpi_attach().
|
static |
Called by the net80211 framework to indicate the minimum dwell time has been met, terminate the scan. We don't actually terminate the scan as the firmware will notify us when it's finished and we have no way to interrupt it.
Definition at line 5651 of file if_wpi.c.
Referenced by wpi_attach().
|
static |
Definition at line 5560 of file if_wpi.c.
References WPI_LED_LINK, and wpi_set_led().
Referenced by wpi_attach().
|
static |
Definition at line 3190 of file if_wpi.c.
References wpi_softc::sc_ic.
Referenced by wpi_scan().
|
static |
Definition at line 3853 of file if_wpi.c.
References DPRINTF, wpi_bluetooth::flags, wpi_bluetooth::lead_time, wpi_bluetooth::max_kill, WPI_BT_COEX_MODE_4WIRE, WPI_BT_LEAD_TIME_DEF, WPI_BT_MAX_KILL_DEF, wpi_cmd(), and WPI_CMD_BT_COEX.
Referenced by wpi_config().
|
static |
Definition at line 3867 of file if_wpi.c.
References wpi_rxon::cck_mask, wpi_assoc::cck_mask, wpi_rxon::filter, wpi_assoc::filter, wpi_rxon::flags, wpi_assoc::flags, wpi_rxon::ofdm_mask, wpi_assoc::ofdm_mask, wpi_assoc::reserved, wpi_softc::rxon, wpi_softc::sc_dev, wpi_add_broadcast_node(), wpi_check_bss_filter(), wpi_clear_node_table(), wpi_cmd(), WPI_CMD_RXON, WPI_CMD_RXON_ASSOC, WPI_NT_LOCK, WPI_NT_UNLOCK, WPI_RXON_LOCK_ASSERT, and wpi_set_txpower().
Referenced by wpi_auth(), wpi_config(), wpi_newstate(), wpi_run(), wpi_set_channel(), and wpi_update_promisc().
|
static |
Called by the net80211 framework to indicate to the driver that the channel should be changed
Definition at line 5585 of file if_wpi.c.
References wpi_rxon::chan, DPRINTF, wpi_rxon::flags, wpi_softc::rxon, wpi_softc::sc_dev, wpi_softc::sc_rxtap, wpi_softc::sc_txtap, WPI_LOCK, WPI_RXON_24GHZ, WPI_RXON_AUTO, WPI_RXON_LOCK, WPI_RXON_UNLOCK, wpi_send_rxon(), WPI_TX_LOCK, WPI_TX_UNLOCK, WPI_UNLOCK, wpi_rx_radiotap_header::wr_chan_flags, wpi_rx_radiotap_header::wr_chan_freq, wpi_tx_radiotap_header::wt_chan_flags, and wpi_tx_radiotap_header::wt_chan_freq.
Referenced by wpi_attach().
|
static |
Definition at line 4684 of file if_wpi.c.
References wpi_load_key().
Referenced by wpi_add_node().
|
static |
Definition at line 3605 of file if_wpi.c.
References DPRINTF, wpi_cmd_led::off, wpi_cmd_led::on, wpi_cmd_led::unit, wpi_cmd_led::which, wpi_cmd(), and WPI_CMD_SET_LED.
Referenced by wpi_newstate(), wpi_run(), wpi_scan_end(), and wpi_scan_start().
|
static |
Definition at line 3560 of file if_wpi.c.
References wpi_rxon::filter, wpi_softc::rxon, wpi_softc::sc_ic, WPI_FILTER_CTL, and WPI_FILTER_PROMISC.
Referenced by wpi_config(), and wpi_update_promisc().
|
static |
Definition at line 3801 of file if_wpi.c.
References DPRINTF, wpi_pmgt_cmd::flags, wpi_pmgt_cmd::intval, wpi_pmgt::intval, wpi_pmgt_cmd::rxtimeout, wpi_pmgt::rxtimeout, wpi_softc::sc_cap_off, wpi_softc::sc_dev, wpi_pmgt::skip_dtim, wpi_pmgt_cmd::txtimeout, wpi_pmgt::txtimeout, wpi_cmd(), WPI_CMD_SET_POWER_MODE, WPI_PS_ALLOW_SLEEP, WPI_PS_PCI_PMGT, and WPI_PS_SLEEP_OVER_DTIM.
Referenced by wpi_config(), wpi_newstate(), and wpi_run().
|
static |
Definition at line 3619 of file if_wpi.c.
References wpi_cmd_timing::binitval, wpi_cmd_timing::bintval, DPRINTF, wpi_cmd_timing::lintval, wpi_cmd_timing::tstamp, wpi_cmd(), and WPI_CMD_TIMING.
Referenced by wpi_run().
|
static |
Definition at line 3683 of file if_wpi.c.
References wpi_cmd_txpower::band, wpi_rxon::chan, wpi_cmd_txpower::chan, DPRINTF, wpi_cmd_txpower::dsp_gain, wpi_rxon::flags, wpi_softc::groups, wpi_cmd_txpower::plcp, wpi_cmd_txpower::rates, wpi_cmd_txpower::rf_gain, wpi_softc::rxon, WPI_BAND_2GHZ, WPI_BAND_5GHZ, wpi_cmd(), WPI_CMD_TXPOWER, wpi_dsp_gain_2ghz, wpi_dsp_gain_5ghz, wpi_get_power_index(), wpi_rf_gain_2ghz, wpi_rf_gain_5ghz, WPI_RIDX_MAX, wpi_ridx_to_plcp, and WPI_RXON_24GHZ.
Referenced by wpi_power_calibration(), and wpi_send_rxon().
|
static |
Definition at line 1517 of file if_wpi.c.
References wpi_eeprom_channel_flags(), and wpi_find_eeprom_channel().
Referenced by wpi_attach().
|
static |
Definition at line 4397 of file if_wpi.c.
References DPRINTF, wpi_buf::m, wpi_softc::sc_dev, wpi_config_beacon(), WPI_VAP, WPI_VAP_LOCK, WPI_VAP_UNLOCK, and wpi_vap::wv_bcbuf.
Referenced by wpi_run().
|
static |
Definition at line 739 of file if_wpi.c.
References wpi_stop().
|
static |
Definition at line 5549 of file if_wpi.c.
References WPI_LOCK, wpi_stop_locked(), and WPI_UNLOCK.
Referenced by wpi_detach(), wpi_parent(), wpi_radio_off(), and wpi_shutdown().
|
static |
Definition at line 5521 of file if_wpi.c.
References wpi_softc::calib_to, wpi_softc::sc_running, wpi_softc::scan_timeout, wpi_softc::tx_timeout, wpi_hw_stop(), WPI_LOCK_ASSERT, WPI_RXON_LOCK, WPI_RXON_UNLOCK, WPI_TX_LOCK, WPI_TX_UNLOCK, WPI_TXQ_LOCK, WPI_TXQ_STATE_LOCK, WPI_TXQ_STATE_UNLOCK, and WPI_TXQ_UNLOCK.
Referenced by wpi_init(), wpi_notif_intr(), and wpi_stop().
|
static |
Definition at line 748 of file if_wpi.c.
References wpi_softc::sc_ic.
|
static |
Definition at line 587 of file if_wpi.c.
References wpi_softc::sc_debug, and wpi_softc::sc_dev.
Referenced by wpi_attach().
|
static |
Definition at line 3123 of file if_wpi.c.
References DPRINTF, wpi_softc::sc_running, wpi_free_txfrags(), wpi_tx_data(), WPI_TX_LOCK, and wpi_tx_ring_free_space().
Referenced by wpi_attach().
|
static |
Definition at line 2788 of file if_wpi.c.
References wpi_buf::ac, wpi_cmd_data::cck_mask, wpi_buf::code, wpi_buf::data, wpi_cmd_data::data_ntries, wpi_cmd_data::flags, wpi_cmd_data::fnext, wpi_cmd_data::id, wpi_node::id, wpi_cmd_data::key, wpi_cmd_data::len, wpi_cmd_data::lifetime, wpi_cmd_data::lnext, wpi_buf::m, wpi_node::ni, wpi_buf::ni, wpi_cmd_data::ofdm_mask, wpi_cmd_data::plcp, rate2plcp(), wpi_cmd_data::rts_ntries, wpi_softc::sc_dev, wpi_softc::sc_txtap, wpi_cmd_data::security, wpi_buf::size, wpi_cmd_data::tid, wpi_cmd_data::timeout, WPI_CIPHER_CCMP, wpi_cmd2(), WPI_CMD_TX_DATA, WPI_ID_BROADCAST, WPI_ID_UNDEFINED, WPI_LIFETIME_INFINITE, WPI_NEXT_STA_ID, WPI_NODE, WPI_RATE_IS_OFDM, WPI_TX_AUTO_SEQ, WPI_TX_FULL_TXOP, WPI_TX_INSERT_TSTAMP, WPI_TX_MORE_FRAG, WPI_TX_NEED_ACK, WPI_TX_NEED_CTS, WPI_TX_NEED_RTS, wpi_tx_radiotap_header::wt_flags, and wpi_tx_radiotap_header::wt_rate.
Referenced by wpi_raw_xmit(), and wpi_transmit().
|
static |
Definition at line 2958 of file if_wpi.c.
References wpi_buf::ac, wpi_buf::code, wpi_buf::data, wpi_cmd_data::data_ntries, wpi_cmd_data::flags, wpi_cmd_data::id, wpi_cmd_data::key, wpi_cmd_data::len, wpi_cmd_data::lifetime, wpi_buf::m, wpi_buf::ni, wpi_cmd_data::plcp, rate2plcp(), wpi_cmd_data::rts_ntries, wpi_softc::sc_txtap, wpi_cmd_data::security, wpi_buf::size, wpi_cmd_data::timeout, WPI_CIPHER_CCMP, wpi_cmd2(), WPI_CMD_TX_DATA, WPI_ID_BROADCAST, WPI_LIFETIME_INFINITE, WPI_TX_AUTO_SEQ, WPI_TX_FULL_TXOP, WPI_TX_INSERT_TSTAMP, WPI_TX_NEED_ACK, WPI_TX_NEED_CTS, WPI_TX_NEED_RTS, wpi_tx_radiotap_header::wt_flags, and wpi_tx_radiotap_header::wt_rate.
Referenced by wpi_raw_xmit().
|
static |
Definition at line 2060 of file if_wpi.c.
References wpi_tx_stat::ackfailcnt, wpi_tx_stat::btkillcnt, wpi_tx_ring::data, wpi_tx_ring::data_dmat, wpi_tx_ring::desc, DPRINTF, wpi_tx_stat::duration, wpi_tx_data::hdrlen, wpi_rx_desc::idx, wpi_tx_data::m, wpi_tx_data::map, wpi_tx_data::ni, wpi_rx_desc::qid, wpi_tx_ring::queued, wpi_tx_stat::rate, wpi_tx_stat::rtsfailcnt, wpi_softc::sc_txs, wpi_tx_stat::status, wpi_softc::tx_timeout, wpi_softc::txq, WPI_NTRIES_DEFAULT, WPI_TX_STATUS_FAIL, WPI_TX_STATUS_FAIL_LIFE_EXPIRE, WPI_TX_STATUS_FAIL_LONG_LIMIT, WPI_TX_STATUS_FAIL_SHORT_LIMIT, wpi_tx_timeout(), WPI_TXQ_STATE_LOCK, and WPI_TXQ_STATE_UNLOCK.
Referenced by wpi_notif_intr().
|
static |
Definition at line 3061 of file if_wpi.c.
References wpi_tx_ring::queued, wpi_softc::txq, WPI_TX_RING_HIMARK, WPI_TXQ_STATE_LOCK, and WPI_TXQ_STATE_UNLOCK.
Referenced by wpi_raw_xmit(), and wpi_transmit().
|
static |
Definition at line 3200 of file if_wpi.c.
References wpi_softc::sc_ic.
Referenced by wpi_cmd2(), and wpi_tx_done().
|
static |
Free the referenced firmware image
Definition at line 5114 of file if_wpi.c.
References wpi_softc::fw_fp.
Referenced by wpi_init(), and wpi_read_firmware().
|
static |
Definition at line 4430 of file if_wpi.c.
References DPRINTF, wpi_buf::m, wpi_softc::sc_dev, wpi_config_beacon(), WPI_VAP, WPI_VAP_LOCK, WPI_VAP_UNLOCK, and wpi_vap::wv_bcbuf.
Referenced by wpi_vap_create().
|
static |
Definition at line 3599 of file if_wpi.c.
Referenced by wpi_attach().
|
static |
Definition at line 3577 of file if_wpi.c.
References wpi_softc::sc_dev, wpi_softc::sc_running, WPI_LOCK, WPI_RXON_LOCK, WPI_RXON_UNLOCK, wpi_send_rxon(), wpi_set_promisc(), and WPI_UNLOCK.
Referenced by wpi_attach().
|
static |
Definition at line 1078 of file if_wpi.c.
References wpi_rx_ring::cur, wpi_softc::rxq, WPI_FH_RX_WPTR, and WPI_WRITE.
Referenced by wpi_attach(), wpi_cmd_done(), wpi_update_rx_ring_ps(), and wpi_wakeup_intr().
|
static |
Definition at line 1084 of file if_wpi.c.
References DPRINTF, wpi_softc::rxq, wpi_rx_ring::update, WPI_CLRBITS, WPI_GP_CNTRL, WPI_GP_CNTRL_MAC_ACCESS_REQ, WPI_GP_CNTRL_SLEEP, WPI_READ, WPI_SETBITS, WPI_TXQ_LOCK, WPI_TXQ_UNLOCK, and wpi_update_rx_ring().
Referenced by wpi_cmd_done().
|
static |
Definition at line 1235 of file if_wpi.c.
References wpi_tx_ring::cur, wpi_tx_ring::qid, WPI_HBUS_TARG_WRPTR, and WPI_WRITE.
Referenced by wpi_attach(), wpi_cmd_done(), wpi_update_tx_ring_ps(), and wpi_wakeup_intr().
|
static |
Definition at line 1241 of file if_wpi.c.
References DPRINTF, wpi_tx_ring::qid, wpi_tx_ring::update, WPI_CLRBITS, WPI_GP_CNTRL, WPI_GP_CNTRL_MAC_ACCESS_REQ, WPI_GP_CNTRL_SLEEP, WPI_READ, WPI_SETBITS, and wpi_update_tx_ring().
Referenced by wpi_cmd_done().
|
static |
Definition at line 3523 of file if_wpi.c.
References wpi_edca_params::ac, wpi_edca_params::aifsn, wpi_edca_params::cwmax, wpi_edca_params::cwmin, DPRINTF, wpi_edca_params::flags, wpi_edca_params::txoplimit, wpi_cmd(), WPI_CMD_EDCA_PARAMS, WPI_EDCA_UPDATE, and WPI_EXP2.
Referenced by wpi_attach(), and wpi_newstate().
|
static |
Definition at line 622 of file if_wpi.c.
References wpi_ibss_recv_mgmt(), WPI_ID_IBSS_MAX, WPI_ID_IBSS_MIN, wpi_init_beacon(), wpi_key_delete(), wpi_key_set(), wpi_newstate(), wpi_update_beacon(), WPI_VAP_LOCK_INIT, wpi_vap::wv_newstate, wpi_vap::wv_recv_mgmt, and wpi_vap::wv_vap.
Referenced by wpi_attach(), and wpi_detach().
|
static |
Definition at line 663 of file if_wpi.c.
References wpi_buf::m, WPI_VAP, WPI_VAP_LOCK_DESTROY, and wpi_vap::wv_bcbuf.
Referenced by wpi_attach().
|
static |
Definition at line 2386 of file if_wpi.c.
References DPRINTF, wpi_tx_ring::qid, wpi_softc::rxq, wpi_softc::txq, wpi_tx_ring::update, wpi_rx_ring::update, WPI_CLRBITS, WPI_DRV_NTXQUEUES, WPI_GP_CNTRL, WPI_GP_CNTRL_MAC_ACCESS_REQ, WPI_TXQ_LOCK, WPI_TXQ_UNLOCK, wpi_update_rx_ring(), and wpi_update_tx_ring().
Referenced by wpi_intr().
|
static |
Definition at line 3173 of file if_wpi.c.
References DPRINTF, wpi_softc::sc_ic, wpi_softc::sc_radioon_task, wpi_softc::watchdog_rfkill, WPI_APMG_RFKILL, wpi_prph_read(), and wpi_watchdog_rfkill().
Referenced by wpi_init(), wpi_radio_off(), and wpi_watchdog_rfkill().
|
static |
|
static |
Definition at line 118 of file if_wpi.c.
Referenced by wpi_attach(), and wpi_probe().
|
static |