aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-3945.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-3945.h')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-3945.h61
1 files changed, 2 insertions, 59 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-3945.h b/drivers/net/wireless/iwlwifi/iwl-3945.h
index 63bf832ef762..18424a308d12 100644
--- a/drivers/net/wireless/iwlwifi/iwl-3945.h
+++ b/drivers/net/wireless/iwlwifi/iwl-3945.h
@@ -147,62 +147,6 @@ struct iwl3945_frame {
147#define SN_TO_SEQ(ssn) (((ssn) << 4) & IEEE80211_SCTL_SEQ) 147#define SN_TO_SEQ(ssn) (((ssn) << 4) & IEEE80211_SCTL_SEQ)
148#define MAX_SN ((IEEE80211_SCTL_SEQ) >> 4) 148#define MAX_SN ((IEEE80211_SCTL_SEQ) >> 4)
149 149
150struct iwl3945_cmd;
151struct iwl_priv;
152
153struct iwl3945_cmd_meta {
154 struct iwl3945_cmd_meta *source;
155 union {
156 struct sk_buff *skb;
157 int (*callback)(struct iwl_priv *priv,
158 struct iwl3945_cmd *cmd, struct sk_buff *skb);
159 } __attribute__ ((packed)) u;
160
161 /* The CMD_SIZE_HUGE flag bit indicates that the command
162 * structure is stored at the end of the shared queue memory. */
163 u32 flags;
164
165} __attribute__ ((packed));
166
167/**
168 * struct iwl3945_cmd
169 *
170 * For allocation of the command and tx queues, this establishes the overall
171 * size of the largest command we send to uCode, except for a scan command
172 * (which is relatively huge; space is allocated separately).
173 */
174struct iwl3945_cmd {
175 struct iwl3945_cmd_meta meta;
176 struct iwl_cmd_header hdr;
177 union {
178 struct iwl3945_addsta_cmd addsta;
179 struct iwl_led_cmd led;
180 u32 flags;
181 u8 val8;
182 u16 val16;
183 u32 val32;
184 struct iwl_bt_cmd bt;
185 struct iwl_rxon_time_cmd rxon_time;
186 struct iwl_powertable_cmd powertable;
187 struct iwl_qosparam_cmd qosparam;
188 struct iwl3945_tx_cmd tx;
189 struct iwl3945_tx_beacon_cmd tx_beacon;
190 struct iwl3945_rxon_assoc_cmd rxon_assoc;
191 u8 *indirect;
192 u8 payload[360];
193 } __attribute__ ((packed)) cmd;
194} __attribute__ ((packed));
195
196struct iwl3945_host_cmd {
197 u8 id;
198 u16 len;
199 struct iwl3945_cmd_meta meta;
200 const void *data;
201};
202
203#define TFD39_MAX_PAYLOAD_SIZE (sizeof(struct iwl3945_cmd) - \
204 sizeof(struct iwl3945_cmd_meta))
205
206/* 150/*
207 * RX related structures and functions 151 * RX related structures and functions
208 */ 152 */
@@ -288,7 +232,7 @@ extern void iwl3945_tx_queue_free(struct iwl_priv *priv, struct iwl3945_tx_queue
288extern int iwl3945_send_cmd_pdu(struct iwl_priv *priv, u8 id, u16 len, 232extern int iwl3945_send_cmd_pdu(struct iwl_priv *priv, u8 id, u16 len,
289 const void *data); 233 const void *data);
290extern int __must_check iwl3945_send_cmd(struct iwl_priv *priv, 234extern int __must_check iwl3945_send_cmd(struct iwl_priv *priv,
291 struct iwl3945_host_cmd *cmd); 235 struct iwl_host_cmd *cmd);
292extern unsigned int iwl3945_fill_beacon_frame(struct iwl_priv *priv, 236extern unsigned int iwl3945_fill_beacon_frame(struct iwl_priv *priv,
293 struct ieee80211_hdr *hdr,int left); 237 struct ieee80211_hdr *hdr,int left);
294extern int iwl3945_rx_queue_update_write_ptr(struct iwl_priv *priv, 238extern int iwl3945_rx_queue_update_write_ptr(struct iwl_priv *priv,
@@ -340,8 +284,7 @@ extern int iwl3945_hw_tx_queue_init(struct iwl_priv *priv,
340extern unsigned int iwl3945_hw_get_beacon_cmd(struct iwl_priv *priv, 284extern unsigned int iwl3945_hw_get_beacon_cmd(struct iwl_priv *priv,
341 struct iwl3945_frame *frame, u8 rate); 285 struct iwl3945_frame *frame, u8 rate);
342extern int iwl3945_hw_get_rx_read(struct iwl_priv *priv); 286extern int iwl3945_hw_get_rx_read(struct iwl_priv *priv);
343extern void iwl3945_hw_build_tx_cmd_rate(struct iwl_priv *priv, 287void iwl3945_hw_build_tx_cmd_rate(struct iwl_priv *priv, struct iwl_cmd *cmd,
344 struct iwl3945_cmd *cmd,
345 struct ieee80211_tx_info *info, 288 struct ieee80211_tx_info *info,
346 struct ieee80211_hdr *hdr, 289 struct ieee80211_hdr *hdr,
347 int sta_id, int tx_id); 290 int sta_id, int tx_id);