Home
last modified time | relevance | path

Searched refs:iwm (Results 1 – 23 of 23) sorted by relevance

/linux-3.4.99/drivers/net/wireless/iwmc3200wifi/
Dmain.c118 struct iwm_priv *iwm = in iwm_statistics_request() local
121 iwm_send_umac_stats_req(iwm, 0); in iwm_statistics_request()
126 struct iwm_priv *iwm = in iwm_disconnect_work() local
129 if (iwm->umac_profile_active) in iwm_disconnect_work()
130 iwm_invalidate_mlme_profile(iwm); in iwm_disconnect_work()
132 clear_bit(IWM_STATUS_ASSOCIATED, &iwm->status); in iwm_disconnect_work()
133 iwm->umac_profile_active = false; in iwm_disconnect_work()
134 memset(iwm->bssid, 0, ETH_ALEN); in iwm_disconnect_work()
135 iwm->channel = 0; in iwm_disconnect_work()
137 iwm_link_off(iwm); in iwm_disconnect_work()
[all …]
Dfw.c57 static int iwm_fw_op_offset(struct iwm_priv *iwm, const struct firmware *fw, in iwm_fw_op_offset() argument
70 IWM_ERR(iwm, "No barker string in this FW\n"); in iwm_fw_op_offset()
75 IWM_ERR(iwm, "FW is too small (%zu)\n", fw->size); in iwm_fw_op_offset()
84 IWM_DBG_FW(iwm, DBG, "FW: op_code: 0x%x, len: %d @ 0x%x\n", in iwm_fw_op_offset()
88 IWM_DBG_FW(iwm, DBG, "Reached INVALID op code\n"); in iwm_fw_op_offset()
108 static int iwm_load_firmware_chunk(struct iwm_priv *iwm, in iwm_load_firmware_chunk() argument
117 IWM_DBG_FW(iwm, INFO, "Loading FW chunk: %d bytes @ 0x%x\n", in iwm_load_firmware_chunk()
139 IWM_DBG_FW(iwm, DBG, "\t%d bytes @ 0x%x\n", in iwm_load_firmware_chunk()
142 ret = iwm_hal_send_target_cmd(iwm, &target_cmd, chunk_ptr); in iwm_load_firmware_chunk()
144 IWM_ERR(iwm, "Couldn't load FW chunk\n"); in iwm_load_firmware_chunk()
[all …]
Drx.c98 static int iwm_ntf_error(struct iwm_priv *iwm, u8 *buf, in iwm_ntf_error() argument
107 memcpy(iwm->last_fw_err, fw_err, sizeof(struct iwm_fw_error_hdr)); in iwm_ntf_error()
109 IWM_ERR(iwm, "%cMAC FW ERROR:\n", in iwm_ntf_error()
111 IWM_ERR(iwm, "\tCategory: %d\n", le32_to_cpu(fw_err->category)); in iwm_ntf_error()
112 IWM_ERR(iwm, "\tStatus: 0x%x\n", le32_to_cpu(fw_err->status)); in iwm_ntf_error()
113 IWM_ERR(iwm, "\tPC: 0x%x\n", le32_to_cpu(fw_err->pc)); in iwm_ntf_error()
114 IWM_ERR(iwm, "\tblink1: %d\n", le32_to_cpu(fw_err->blink1)); in iwm_ntf_error()
115 IWM_ERR(iwm, "\tblink2: %d\n", le32_to_cpu(fw_err->blink2)); in iwm_ntf_error()
116 IWM_ERR(iwm, "\tilink1: %d\n", le32_to_cpu(fw_err->ilink1)); in iwm_ntf_error()
117 IWM_ERR(iwm, "\tilink2: %d\n", le32_to_cpu(fw_err->ilink2)); in iwm_ntf_error()
[all …]
Dcfg80211.c167 struct iwm_priv *iwm = ndev_to_iwm(ndev); in iwm_cfg80211_add_key() local
171 IWM_DBG_WEXT(iwm, DBG, "Adding key for %pM\n", mac_addr); in iwm_cfg80211_add_key()
176 key = &iwm->keys[key_index]; in iwm_cfg80211_add_key()
180 IWM_ERR(iwm, "Invalid key_params\n"); in iwm_cfg80211_add_key()
184 return iwm_set_key(iwm, 0, key); in iwm_cfg80211_add_key()
193 struct iwm_priv *iwm = ndev_to_iwm(ndev); in iwm_cfg80211_get_key() local
197 IWM_DBG_WEXT(iwm, DBG, "Getting key %d\n", key_index); in iwm_cfg80211_get_key()
204 key = &iwm->keys[key_index]; in iwm_cfg80211_get_key()
220 struct iwm_priv *iwm = ndev_to_iwm(ndev); in iwm_cfg80211_del_key() local
226 key = &iwm->keys[key_index]; in iwm_cfg80211_del_key()
[all …]
Dtx.c101 static bool iwm_tx_credit_ok(struct iwm_priv *iwm, int id, int nb) in iwm_tx_credit_ok() argument
105 if (npages <= iwm_tx_credit_get(&iwm->tx_credit, id)) in iwm_tx_credit_ok()
108 set_bit(id, &iwm->tx_credit.full_pools_map); in iwm_tx_credit_ok()
110 IWM_DBG_TX(iwm, DBG, "LINK: stop txq[%d], available credit: %d\n", in iwm_tx_credit_ok()
112 iwm_tx_credit_get(&iwm->tx_credit, id)); in iwm_tx_credit_ok()
117 void iwm_tx_credit_inc(struct iwm_priv *iwm, int id, int total_freed_pages) in iwm_tx_credit_inc() argument
126 pool = &iwm->tx_credit.pools[id]; in iwm_tx_credit_inc()
127 spool = &iwm->tx_credit.spools[pool->sid]; in iwm_tx_credit_inc()
130 IWM_DBG_TX(iwm, DBG, "Free %d pages for pool[%d]\n", freed_pages, id); in iwm_tx_credit_inc()
133 IWM_DBG_TX(iwm, DBG, "No pages are freed by UMAC\n"); in iwm_tx_credit_inc()
[all …]
Dcommands.c54 static int iwm_send_lmac_ptrough_cmd(struct iwm_priv *iwm, in iwm_send_lmac_ptrough_cmd() argument
69 return iwm_hal_send_host_cmd(iwm, &udma_cmd, &umac_cmd, &lmac_cmd, in iwm_send_lmac_ptrough_cmd()
73 int iwm_send_wifi_if_cmd(struct iwm_priv *iwm, void *payload, u16 payload_size, in iwm_send_wifi_if_cmd() argument
82 if (!test_bit(IWM_STATUS_READY, &iwm->status)) { in iwm_send_wifi_if_cmd()
83 IWM_ERR(iwm, "Interface is not ready yet"); in iwm_send_wifi_if_cmd()
90 ret = iwm_hal_send_umac_cmd(iwm, &udma_cmd, &umac_cmd, in iwm_send_wifi_if_cmd()
94 ret = wait_event_interruptible_timeout(iwm->wifi_ntfy_queue, in iwm_send_wifi_if_cmd()
95 test_and_clear_bit(oid, &iwm->wifi_ntfy[0]), in iwm_send_wifi_if_cmd()
148 int iwm_send_prio_table(struct iwm_priv *iwm) in iwm_send_prio_table() argument
167 switch (iwm->conf.mode) { in iwm_send_prio_table()
[all …]
Ddebugfs.c61 struct iwm_priv *iwm = data; in iwm_debugfs_u32_read() local
63 *val = iwm->dbg.dbg_level; in iwm_debugfs_u32_read()
69 struct iwm_priv *iwm = data; in iwm_debugfs_dbg_level_write() local
72 iwm->dbg.dbg_level = val; in iwm_debugfs_dbg_level_write()
75 iwm->dbg.dbg_module[i] = val; in iwm_debugfs_dbg_level_write()
85 struct iwm_priv *iwm = data; in iwm_debugfs_dbg_modules_write() local
88 iwm->dbg.dbg_modules = val; in iwm_debugfs_dbg_modules_write()
91 iwm->dbg.dbg_module[i] = 0; in iwm_debugfs_dbg_modules_write()
93 for_each_set_bit(bit, &iwm->dbg.dbg_modules, __IWM_DM_NR) in iwm_debugfs_dbg_modules_write()
94 iwm->dbg.dbg_module[bit] = iwm->dbg.dbg_level; in iwm_debugfs_dbg_modules_write()
[all …]
Dnetdev.c58 struct iwm_priv *iwm = ndev_to_iwm(ndev); in iwm_open() local
60 return iwm_up(iwm); in iwm_open()
65 struct iwm_priv *iwm = ndev_to_iwm(ndev); in iwm_stop() local
67 return iwm_down(iwm); in iwm_stop()
107 struct iwm_priv *iwm; in iwm_if_alloc() local
114 iwm = wdev_to_iwm(wdev); in iwm_if_alloc()
115 iwm->bus_ops = if_ops; in iwm_if_alloc()
116 iwm->wdev = wdev; in iwm_if_alloc()
118 ret = iwm_priv_init(iwm); in iwm_if_alloc()
124 wdev->iftype = iwm_mode_to_nl80211_iftype(iwm->conf.mode); in iwm_if_alloc()
[all …]
Dsdio.c82 struct iwm_priv *iwm; in iwm_sdio_isr_worker() local
89 iwm = hw_to_iwm(hw); in iwm_sdio_isr_worker()
91 while (!skb_queue_empty(&iwm->rx_list)) { in iwm_sdio_isr_worker()
92 skb = skb_dequeue(&iwm->rx_list); in iwm_sdio_isr_worker()
97 IWM_HEXDUMP(iwm, DBG, SDIO, "RX: ", rx_buf, rx_size); in iwm_sdio_isr_worker()
98 if (iwm_rx_handle(iwm, rx_buf, rx_size) < 0) in iwm_sdio_isr_worker()
99 IWM_WARN(iwm, "RX error\n"); in iwm_sdio_isr_worker()
107 struct iwm_priv *iwm; in iwm_sdio_isr() local
116 iwm = hw_to_iwm(hw); in iwm_sdio_isr()
123 IWM_ERR(iwm, "Wrong INTR_STATUS\n"); in iwm_sdio_isr()
[all …]
Dhal.c110 static int iwm_nonwifi_cmd_init(struct iwm_priv *iwm, in iwm_nonwifi_cmd_init() argument
116 spin_lock(&iwm->cmd_lock); in iwm_nonwifi_cmd_init()
120 cmd->seq_num = iwm->nonwifi_seq_num; in iwm_nonwifi_cmd_init()
123 iwm->nonwifi_seq_num++; in iwm_nonwifi_cmd_init()
124 iwm->nonwifi_seq_num %= UMAC_NONWIFI_SEQ_NUM_MAX; in iwm_nonwifi_cmd_init()
127 list_add_tail(&cmd->pending, &iwm->nonwifi_pending_cmd); in iwm_nonwifi_cmd_init()
129 spin_unlock(&iwm->cmd_lock); in iwm_nonwifi_cmd_init()
139 u16 iwm_alloc_wifi_cmd_seq(struct iwm_priv *iwm) in iwm_alloc_wifi_cmd_seq() argument
141 u16 seq_num = iwm->wifi_seq_num; in iwm_alloc_wifi_cmd_seq()
143 iwm->wifi_seq_num++; in iwm_alloc_wifi_cmd_seq()
[all …]
Dbus.h30 int (*enable)(struct iwm_priv *iwm);
31 int (*disable)(struct iwm_priv *iwm);
32 int (*send_chunk)(struct iwm_priv *iwm, u8* buf, int count);
34 void (*debugfs_init)(struct iwm_priv *iwm, struct dentry *parent_dir);
35 void (*debugfs_exit)(struct iwm_priv *iwm);
42 static inline int iwm_bus_send_chunk(struct iwm_priv *iwm, u8 *buf, int count) in iwm_bus_send_chunk() argument
44 return iwm->bus_ops->send_chunk(iwm, buf, count); in iwm_bus_send_chunk()
47 static inline int iwm_bus_enable(struct iwm_priv *iwm) in iwm_bus_enable() argument
49 return iwm->bus_ops->enable(iwm); in iwm_bus_enable()
52 static inline int iwm_bus_disable(struct iwm_priv *iwm) in iwm_bus_disable() argument
[all …]
Deeprom.c82 static int iwm_eeprom_read(struct iwm_priv *iwm, u8 eeprom_id) in iwm_eeprom_read() argument
102 *(u16 *)(iwm->eeprom + eeprom_map[off_id].offset) << 1; in iwm_eeprom_read()
123 ret = iwm_hal_send_umac_cmd(iwm, &udma_cmd, in iwm_eeprom_read()
127 IWM_ERR(iwm, "Couldn't read eeprom\n"); in iwm_eeprom_read()
131 ret = iwm_notif_handle(iwm, UMAC_CMD_OPCODE_EEPROM_PROXY, in iwm_eeprom_read()
134 IWM_ERR(iwm, "Did not get any eeprom answer\n"); in iwm_eeprom_read()
146 u8 *iwm_eeprom_access(struct iwm_priv *iwm, u8 eeprom_id) in iwm_eeprom_access() argument
148 if (!iwm->eeprom) in iwm_eeprom_access()
151 return iwm->eeprom + eeprom_map[eeprom_id].offset; in iwm_eeprom_access()
154 int iwm_eeprom_fat_channels(struct iwm_priv *iwm) in iwm_eeprom_fat_channels() argument
[all …]
Diwm.h314 static inline void *iwm_private(struct iwm_priv *iwm) in iwm_private() argument
316 BUG_ON(!iwm); in iwm_private()
317 return &iwm->private; in iwm_private()
320 #define hw_to_iwm(h) (h->iwm)
333 void iwm_if_free(struct iwm_priv *iwm);
334 int iwm_if_add(struct iwm_priv *iwm);
335 void iwm_if_remove(struct iwm_priv *iwm);
337 int iwm_priv_init(struct iwm_priv *iwm);
338 void iwm_priv_deinit(struct iwm_priv *iwm);
339 void iwm_reset(struct iwm_priv *iwm);
[all …]
Dcommands.h474 int iwm_read_mac(struct iwm_priv *iwm, u8 *mac);
475 int iwm_send_prio_table(struct iwm_priv *iwm);
476 int iwm_send_init_calib_cfg(struct iwm_priv *iwm, u8 calib_requested);
477 int iwm_send_periodic_calib_cfg(struct iwm_priv *iwm, u8 calib_requested);
478 int iwm_send_calib_results(struct iwm_priv *iwm);
479 int iwm_store_rxiq_calib_result(struct iwm_priv *iwm);
480 int iwm_send_ct_kill_cfg(struct iwm_priv *iwm, u8 entry, u8 exit);
483 int iwm_send_wifi_if_cmd(struct iwm_priv *iwm, void *payload, u16 payload_size,
485 int iwm_send_umac_reset(struct iwm_priv *iwm, __le32 reset_flags, bool resp);
486 int iwm_umac_set_config_fix(struct iwm_priv *iwm, u16 tbl, u16 key, u32 value);
[all …]
Dhal.h205 void iwm_cmd_flush(struct iwm_priv *iwm);
207 struct iwm_wifi_cmd *iwm_get_pending_wifi_cmd(struct iwm_priv *iwm,
209 struct iwm_nonwifi_cmd *iwm_get_pending_nonwifi_cmd(struct iwm_priv *iwm,
213 int iwm_hal_send_target_cmd(struct iwm_priv *iwm,
217 int iwm_hal_send_host_cmd(struct iwm_priv *iwm,
223 int iwm_hal_send_umac_cmd(struct iwm_priv *iwm,
228 u16 iwm_alloc_wifi_cmd_seq(struct iwm_priv *iwm);
230 void iwm_udma_wifi_hdr_set_eop(struct iwm_priv *iwm, u8 *buf, u8 eop);
231 void iwm_build_udma_wifi_hdr(struct iwm_priv *iwm,
234 void iwm_build_umac_hdr(struct iwm_priv *iwm,
Dtrace.h13 #define TRACE_SYSTEM iwm
16 #define IWM_ASSIGN strlcpy(__entry->ndev_name, iwm_to_ndev(iwm)->name, 16)
21 TP_PROTO(struct iwm_priv *iwm, struct iwm_udma_out_nonwifi_hdr *hdr),
23 TP_ARGS(iwm, hdr),
59 TP_PROTO(struct iwm_priv *iwm, struct iwm_umac_wifi_out_hdr *hdr),
61 TP_ARGS(iwm, hdr),
102 TP_PROTO(struct iwm_priv *iwm, u8 *buf, int len),
104 TP_ARGS(iwm, buf, len),
155 TP_PROTO(struct iwm_priv *iwm, void *buf, int len),
157 TP_ARGS(iwm, buf, len),
[all …]
Deeprom.h121 int iwm_eeprom_init(struct iwm_priv *iwm);
122 void iwm_eeprom_exit(struct iwm_priv *iwm);
123 u8 *iwm_eeprom_access(struct iwm_priv *iwm, u8 eeprom_id);
124 int iwm_eeprom_fat_channels(struct iwm_priv *iwm);
125 u32 iwm_eeprom_wireless_mode(struct iwm_priv *iwm);
DKconfig21 This option will enable debug tracing and setting for iwm
25 To see the list of debug modules and levels, see iwm/debug.h
28 echo 0xff > /sys/kernel/debug/iwm/phyN/debug/mlme
31 echo 0xff > /sys/kernel/debug/iwm/phyN/debug/level
32 echo 0xff > /sys/kernel/debug/iwm/phyN/debug/modules
Ddebug.h91 struct iwm_priv *iwm; member
116 void iwm_debugfs_init(struct iwm_priv *iwm);
117 void iwm_debugfs_exit(struct iwm_priv *iwm);
119 static inline void iwm_debugfs_init(struct iwm_priv *iwm) {} in iwm_debugfs_init() argument
120 static inline void iwm_debugfs_exit(struct iwm_priv *iwm) {} in iwm_debugfs_exit() argument
Dcfg80211.h27 int iwm_cfg80211_inform_bss(struct iwm_priv *iwm);
29 void iwm_wdev_free(struct iwm_priv *iwm);
Dsdio.h50 #define iwm_to_if_sdio(i) (struct iwm_sdio_priv *)(iwm->private)
54 struct iwm_priv *iwm; member
Dfw.h98 int iwm_load_fw(struct iwm_priv *iwm);
/linux-3.4.99/drivers/block/
Dswim.c71 struct iwm { struct
227 struct iwm __iomem *iwm_base; in set_swim_mode()
235 iwm_base = (struct iwm __iomem *)base; in set_swim_mode()