• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/net/wireless/iwmc3200wifi/

Lines Matching defs:iwm

40  * Hardware Abstraction Layer for iwm.
103 #include "iwm.h"
110 static int iwm_nonwifi_cmd_init(struct iwm_priv *iwm,
116 spin_lock(&iwm->cmd_lock);
120 cmd->seq_num = iwm->nonwifi_seq_num;
123 iwm->nonwifi_seq_num++;
124 iwm->nonwifi_seq_num %= UMAC_NONWIFI_SEQ_NUM_MAX;
127 list_add_tail(&cmd->pending, &iwm->nonwifi_pending_cmd);
129 spin_unlock(&iwm->cmd_lock);
139 u16 iwm_alloc_wifi_cmd_seq(struct iwm_priv *iwm)
141 u16 seq_num = iwm->wifi_seq_num;
143 iwm->wifi_seq_num++;
144 iwm->wifi_seq_num %= UMAC_WIFI_SEQ_NUM_MAX;
149 static void iwm_wifi_cmd_init(struct iwm_priv *iwm,
158 spin_lock(&iwm->cmd_lock);
160 cmd->seq_num = iwm_alloc_wifi_cmd_seq(iwm);
164 list_add_tail(&cmd->pending, &iwm->wifi_pending_cmd);
166 spin_unlock(&iwm->cmd_lock);
192 void iwm_cmd_flush(struct iwm_priv *iwm)
197 list_for_each_entry_safe(wcmd, wnext, &iwm->wifi_pending_cmd, pending) {
202 list_for_each_entry_safe(nwcmd, nwnext, &iwm->nonwifi_pending_cmd,
209 struct iwm_wifi_cmd *iwm_get_pending_wifi_cmd(struct iwm_priv *iwm, u16 seq_num)
213 list_for_each_entry(cmd, &iwm->wifi_pending_cmd, pending)
222 struct iwm_nonwifi_cmd *iwm_get_pending_nonwifi_cmd(struct iwm_priv *iwm,
227 list_for_each_entry(cmd, &iwm->nonwifi_pending_cmd, pending)
238 static void iwm_build_udma_nonwifi_hdr(struct iwm_priv *iwm,
258 static int iwm_send_udma_nonwifi_cmd(struct iwm_priv *iwm,
272 iwm_build_udma_nonwifi_hdr(iwm, udma_hdr, udma_cmd);
274 IWM_DBG_CMD(iwm, DBG,
281 trace_iwm_tx_nonwifi_cmd(iwm, udma_hdr);
282 return iwm_bus_send_chunk(iwm, buf->start, buf->len);
285 void iwm_udma_wifi_hdr_set_eop(struct iwm_priv *iwm, u8 *buf, u8 eop)
292 void iwm_build_udma_wifi_hdr(struct iwm_priv *iwm,
309 void iwm_build_umac_hdr(struct iwm_priv *iwm,
324 static int iwm_send_udma_wifi_cmd(struct iwm_priv *iwm,
340 iwm_build_udma_wifi_hdr(iwm, &umac_hdr->hw_hdr, udma_cmd);
341 iwm_build_umac_hdr(iwm, &umac_hdr->sw_hdr, umac_cmd);
343 IWM_DBG_CMD(iwm, DBG,
352 IWM_DBG_CMD(iwm, DBG, "\tLMAC opcode: 0x%x\n",
355 ret = iwm_tx_credit_alloc(iwm, udma_cmd->credit_group, buf->len);
363 IWM_DBG_TX(iwm, DBG, "Failed to alloc tx credit for cmd %d\n",
368 trace_iwm_tx_wifi_cmd(iwm, umac_hdr);
369 return iwm_bus_send_chunk(iwm, buf->start, buf->len);
373 int iwm_hal_send_target_cmd(struct iwm_priv *iwm,
382 IWM_ERR(iwm, "Couldn't alloc memory for hal cmd\n");
386 seq_num = iwm_nonwifi_cmd_init(iwm, cmd, udma_cmd);
394 ret = iwm_send_udma_nonwifi_cmd(iwm, cmd);
405 static void iwm_build_lmac_hdr(struct iwm_priv *iwm, struct iwm_lmac_hdr *hdr,
421 int iwm_hal_send_host_cmd(struct iwm_priv *iwm,
434 IWM_ERR(iwm, "Couldn't alloc memory for wifi hal cmd\n");
438 iwm_wifi_cmd_init(iwm, cmd, udma_cmd, umac_cmd, lmac_cmd, payload_size);
443 iwm_build_lmac_hdr(iwm, hdr, &cmd->lmac_cmd);
450 ret = iwm_send_udma_wifi_cmd(iwm, cmd);
463 int iwm_hal_send_umac_cmd(struct iwm_priv *iwm,
468 return iwm_hal_send_host_cmd(iwm, udma_cmd, umac_cmd, NULL,