aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-core.h
diff options
context:
space:
mode:
authorSamuel Ortiz <samuel.ortiz@intel.com>2009-01-27 17:27:52 -0500
committerJohn W. Linville <linville@tuxdriver.com>2009-02-09 15:03:33 -0500
commit8ccde88a87a3dc906234b281a036fee9c7371949 (patch)
tree05bb74d5f11201e0a7c38169ecbab3509e18b686 /drivers/net/wireless/iwlwifi/iwl-core.h
parentd14c7c1d6aef1175625ea72938b07cee072723dc (diff)
iwl3945: Getting rid of the *39_rxon iwl_priv fields
The iwl_rxon_cmd is really just a iwl3945_rxon_cmd structure extension. So, we can use the *_rxon fields from iwl_priv instead of the 3945 specific ones (*39_rxon). We have to then be careful when submitting REPLY_RXON host commands, since the command length as to be set according to the HW. As another precaution the reserved4 and reserved5 fields are cleared before being sent to the 3945. With the *39_rxon removal, a lot of duplicated code can be removed from the 3945 code base. Signed-off-by: Samuel Ortiz <samuel.ortiz@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-core.h')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-core.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-core.h b/drivers/net/wireless/iwlwifi/iwl-core.h
index 3c6a4b0c2c3b..0a719aeb7349 100644
--- a/drivers/net/wireless/iwlwifi/iwl-core.h
+++ b/drivers/net/wireless/iwlwifi/iwl-core.h
@@ -221,11 +221,25 @@ struct ieee80211_hw *iwl_alloc_all(struct iwl_cfg *cfg,
221 struct ieee80211_ops *hw_ops); 221 struct ieee80211_ops *hw_ops);
222void iwl_hw_detect(struct iwl_priv *priv); 222void iwl_hw_detect(struct iwl_priv *priv);
223void iwl_reset_qos(struct iwl_priv *priv); 223void iwl_reset_qos(struct iwl_priv *priv);
224void iwl_set_rxon_hwcrypto(struct iwl_priv *priv, int hw_decrypt);
225int iwl_check_rxon_cmd(struct iwl_priv *priv);
226int iwl_full_rxon_required(struct iwl_priv *priv);
224void iwl_set_rxon_chain(struct iwl_priv *priv); 227void iwl_set_rxon_chain(struct iwl_priv *priv);
225int iwl_set_rxon_channel(struct iwl_priv *priv, struct ieee80211_channel *ch); 228int iwl_set_rxon_channel(struct iwl_priv *priv, struct ieee80211_channel *ch);
226void iwl_set_rxon_ht(struct iwl_priv *priv, struct iwl_ht_info *ht_info); 229void iwl_set_rxon_ht(struct iwl_priv *priv, struct iwl_ht_info *ht_info);
227u8 iwl_is_fat_tx_allowed(struct iwl_priv *priv, 230u8 iwl_is_fat_tx_allowed(struct iwl_priv *priv,
228 struct ieee80211_sta_ht_cap *sta_ht_inf); 231 struct ieee80211_sta_ht_cap *sta_ht_inf);
232void iwl_set_flags_for_band(struct iwl_priv *priv, enum ieee80211_band band);
233void iwl_connection_init_rx_config(struct iwl_priv *priv, int mode);
234int iwl_set_decrypted_flag(struct iwl_priv *priv,
235 struct ieee80211_hdr *hdr,
236 u32 decrypt_res,
237 struct ieee80211_rx_status *stats);
238void iwl_irq_handle_error(struct iwl_priv *priv);
239void iwl_configure_filter(struct ieee80211_hw *hw,
240 unsigned int changed_flags,
241 unsigned int *total_flags,
242 int mc_count, struct dev_addr_list *mc_list);
229int iwl_hw_nic_init(struct iwl_priv *priv); 243int iwl_hw_nic_init(struct iwl_priv *priv);
230int iwl_setup_mac(struct iwl_priv *priv); 244int iwl_setup_mac(struct iwl_priv *priv);
231int iwl_set_hw_params(struct iwl_priv *priv); 245int iwl_set_hw_params(struct iwl_priv *priv);
@@ -253,6 +267,7 @@ void iwl_rx_missed_beacon_notif(struct iwl_priv *priv,
253 struct iwl_rx_mem_buffer *rxb); 267 struct iwl_rx_mem_buffer *rxb);
254void iwl_rx_statistics(struct iwl_priv *priv, 268void iwl_rx_statistics(struct iwl_priv *priv,
255 struct iwl_rx_mem_buffer *rxb); 269 struct iwl_rx_mem_buffer *rxb);
270void iwl_rx_csa(struct iwl_priv *priv, struct iwl_rx_mem_buffer *rxb);
256 271
257/* TX helpers */ 272/* TX helpers */
258 273
@@ -296,6 +311,10 @@ void iwl_hwrate_to_tx_control(struct iwl_priv *priv, u32 rate_n_flags,
296 struct ieee80211_tx_info *info); 311 struct ieee80211_tx_info *info);
297int iwl_hwrate_to_plcp_idx(u32 rate_n_flags); 312int iwl_hwrate_to_plcp_idx(u32 rate_n_flags);
298 313
314u8 iwl_rate_get_lowest_plcp(struct iwl_priv *priv);
315
316void iwl_set_rate(struct iwl_priv *priv);
317
299u8 iwl_toggle_tx_ant(struct iwl_priv *priv, u8 ant_idx); 318u8 iwl_toggle_tx_ant(struct iwl_priv *priv, u8 ant_idx);
300 319
301static inline u32 iwl_ant_idx_to_flags(u8 ant_idx) 320static inline u32 iwl_ant_idx_to_flags(u8 ant_idx)