diff options
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-agn.h')
| -rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn.h | 52 | 
1 files changed, 37 insertions, 15 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.h b/drivers/net/wireless/iwlwifi/iwl-agn.h index d1716844002..5f58b44bb2a 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn.h +++ b/drivers/net/wireless/iwlwifi/iwl-agn.h @@ -109,9 +109,6 @@ extern struct iwl_cfg iwl135_bg_cfg;  extern struct iwl_cfg iwl135_bgn_cfg;  extern struct iwl_mod_params iwlagn_mod_params; -extern struct iwl_hcmd_ops iwlagn_hcmd; -extern struct iwl_hcmd_ops iwlagn_bt_hcmd; -extern struct iwl_hcmd_utils_ops iwlagn_hcmd_utils;  extern struct ieee80211_ops iwlagn_hw_ops; @@ -125,10 +122,18 @@ irqreturn_t iwl_isr_ict(int irq, void *data);  static inline void iwl_synchronize_irq(struct iwl_priv *priv)  {  	/* wait to make sure we flush pending tasklet*/ -	synchronize_irq(priv->pci_dev->irq); +	synchronize_irq(priv->bus.irq);  	tasklet_kill(&priv->irq_tasklet);  } +static inline void iwl_set_calib_hdr(struct iwl_calib_hdr *hdr, u8 cmd) +{ +	hdr->op_code = cmd; +	hdr->first_group = 0; +	hdr->groups_num = 1; +	hdr->data_valid = 1; +} +  int iwl_prepare_card_hw(struct iwl_priv *priv);  int iwlagn_start_device(struct iwl_priv *priv); @@ -161,7 +166,7 @@ void iwlagn_send_prio_tbl(struct iwl_priv *priv);  int iwlagn_run_init_ucode(struct iwl_priv *priv);  int iwlagn_load_ucode_wait_alive(struct iwl_priv *priv,  				 struct fw_img *image, -				 int subtype, int alternate_subtype); +				 enum iwlagn_ucode_type ucode_type);  /* lib */  void iwl_check_abort_status(struct iwl_priv *priv, @@ -172,9 +177,6 @@ int iwlagn_hw_valid_rtc_data_addr(u32 addr);  int iwlagn_send_tx_power(struct iwl_priv *priv);  void iwlagn_temperature(struct iwl_priv *priv);  u16 iwlagn_eeprom_calib_version(struct iwl_priv *priv); -const u8 *iwlagn_eeprom_query_addr(const struct iwl_priv *priv, -				   size_t offset); -void iwlagn_rx_queue_reset(struct iwl_priv *priv, struct iwl_rx_queue *rxq);  int iwlagn_rx_init(struct iwl_priv *priv, struct iwl_rx_queue *rxq);  int iwlagn_hw_nic_init(struct iwl_priv *priv);  int iwlagn_wait_tx_queue_empty(struct iwl_priv *priv); @@ -186,13 +188,12 @@ void iwlagn_rx_queue_restock(struct iwl_priv *priv);  void iwlagn_rx_allocate(struct iwl_priv *priv, gfp_t priority);  void iwlagn_rx_replenish(struct iwl_priv *priv);  void iwlagn_rx_replenish_now(struct iwl_priv *priv); -void iwlagn_rx_queue_free(struct iwl_priv *priv, struct iwl_rx_queue *rxq); -int iwlagn_rxq_stop(struct iwl_priv *priv);  int iwlagn_hwrate_to_mac80211_idx(u32 rate_n_flags, enum ieee80211_band band);  void iwl_setup_rx_handlers(struct iwl_priv *priv);  /* tx */ -void iwlagn_txq_free_tfd(struct iwl_priv *priv, struct iwl_tx_queue *txq); +void iwlagn_txq_free_tfd(struct iwl_priv *priv, struct iwl_tx_queue *txq, +				int index);  int iwlagn_txq_attach_buf_to_tfd(struct iwl_priv *priv,  				 struct iwl_tx_queue *txq,  				 dma_addr_t addr, u16 len, u8 reset); @@ -211,10 +212,6 @@ int iwlagn_txq_check_empty(struct iwl_priv *priv,  void iwlagn_rx_reply_compressed_ba(struct iwl_priv *priv,  				struct iwl_rx_mem_buffer *rxb);  int iwlagn_tx_queue_reclaim(struct iwl_priv *priv, int txq_id, int index); -void iwlagn_hw_txq_ctx_free(struct iwl_priv *priv); -int iwlagn_txq_ctx_alloc(struct iwl_priv *priv); -void iwlagn_txq_ctx_reset(struct iwl_priv *priv); -void iwlagn_txq_ctx_stop(struct iwl_priv *priv);  static inline u32 iwl_tx_status_to_mac80211(u32 status)  { @@ -252,6 +249,13 @@ int iwlagn_manage_ibss_station(struct iwl_priv *priv,  /* hcmd */  int iwlagn_send_tx_ant_config(struct iwl_priv *priv, u8 valid_tx_ant);  int iwlagn_send_beacon_cmd(struct iwl_priv *priv); +int iwlagn_set_pan_params(struct iwl_priv *priv); +void iwlagn_gain_computation(struct iwl_priv *priv, +                u32 average_noise[NUM_RX_CHAINS], +                u16 min_average_noise_antenna_i, +                u32 min_average_noise, +                u8 default_chain); +  /* bt coex */  void iwlagn_send_advance_bt_config(struct iwl_priv *priv); @@ -260,6 +264,8 @@ void iwlagn_bt_coex_profile_notif(struct iwl_priv *priv,  void iwlagn_bt_rx_handler_setup(struct iwl_priv *priv);  void iwlagn_bt_setup_deferred_work(struct iwl_priv *priv);  void iwlagn_bt_cancel_deferred_work(struct iwl_priv *priv); +void iwlagn_bt_coex_rssi_monitor(struct iwl_priv *priv); +void iwlagn_bt_adjust_rssi_monitor(struct iwl_priv *priv, bool rssi_ena);  #ifdef CONFIG_IWLWIFI_DEBUG  const char *iwl_get_tx_fail_reason(u32 status); @@ -296,6 +302,8 @@ int iwl_sta_rx_agg_start(struct iwl_priv *priv, struct ieee80211_sta *sta,  int iwl_sta_rx_agg_stop(struct iwl_priv *priv, struct ieee80211_sta *sta,  			int tid);  void iwl_sta_modify_sleep_tx_count(struct iwl_priv *priv, int sta_id, int cnt); +int iwl_update_bcast_station(struct iwl_priv *priv, +			     struct iwl_rxon_context *ctx);  int iwl_update_bcast_stations(struct iwl_priv *priv);  void iwlagn_mac_sta_notify(struct ieee80211_hw *hw,  			   struct ieee80211_vif *vif, @@ -343,6 +351,9 @@ extern int iwl_alive_start(struct iwl_priv *priv);  /* svtool */  #ifdef CONFIG_IWLWIFI_DEVICE_SVTOOL  extern int iwl_testmode_cmd(struct ieee80211_hw *hw, void *data, int len); +extern int iwl_testmode_dump(struct ieee80211_hw *hw, struct sk_buff *skb, +			     struct netlink_callback *cb, +			     void *data, int len);  extern void iwl_testmode_init(struct iwl_priv *priv);  extern void iwl_testmode_cleanup(struct iwl_priv *priv);  #else @@ -352,6 +363,13 @@ int iwl_testmode_cmd(struct ieee80211_hw *hw, void *data, int len)  	return -ENOSYS;  }  static inline +int iwl_testmode_dump(struct ieee80211_hw *hw, struct sk_buff *skb, +		      struct netlink_callback *cb, +		      void *data, int len) +{ +	return -ENOSYS; +} +static inline  void iwl_testmode_init(struct iwl_priv *priv)  {  } @@ -361,4 +379,8 @@ void iwl_testmode_cleanup(struct iwl_priv *priv)  }  #endif +int iwl_probe(void *bus_specific, struct iwl_bus_ops *bus_ops, +		struct iwl_cfg *cfg); +void __devexit iwl_remove(struct iwl_priv * priv); +  #endif /* __iwl_agn_h__ */  |