diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-07-22 14:43:13 -0700 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-07-22 14:43:13 -0700 | 
| commit | 951cc93a7493a81a47e20231441bc6cf17c98a37 (patch) | |
| tree | f53934f0f225e0215a85c8c59af4c6513e89e3f1 /drivers/net/wireless/iwlwifi/iwl-6000.c | |
| parent | a7e1aabb28e8154ce987b622fd78d80a1ca39361 (diff) | |
| parent | 415b3334a21aa67806c52d1acf4e72e14f7f402f (diff) | |
| download | olio-linux-3.10-951cc93a7493a81a47e20231441bc6cf17c98a37.tar.xz olio-linux-3.10-951cc93a7493a81a47e20231441bc6cf17c98a37.zip  | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1287 commits)
  icmp: Fix regression in nexthop resolution during replies.
  net: Fix ppc64 BPF JIT dependencies.
  acenic: include NET_SKB_PAD headroom to incoming skbs
  ixgbe: convert to ndo_fix_features
  ixgbe: only enable WoL for magic packet by default
  ixgbe: remove ifdef check for non-existent define
  ixgbe: Pass staterr instead of re-reading status and error bits from descriptor
  ixgbe: Move interrupt related values out of ring and into q_vector
  ixgbe: add structure for containing RX/TX rings to q_vector
  ixgbe: inline the ixgbe_maybe_stop_tx function
  ixgbe: Update ATR to use recorded TX queues instead of CPU for routing
  igb: Fix for DH89xxCC near end loopback test
  e1000: always call e1000_check_for_link() on e1000_ce4100 MACs.
  netxen: add fw version compatibility check
  be2net: request native mode each time the card is reset
  ipv4: Constrain UFO fragment sizes to multiples of 8 bytes
  virtio_net: Fix panic in virtnet_remove
  ipv6: make fragment identifications less predictable
  ipv6: unshare inetpeers
  can: make function can_get_bittiming static
  ...
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-6000.c')
| -rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-6000.c | 59 | 
1 files changed, 7 insertions, 52 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-6000.c b/drivers/net/wireless/iwlwifi/iwl-6000.c index 5b150bc70b0..80f1ef61a3d 100644 --- a/drivers/net/wireless/iwlwifi/iwl-6000.c +++ b/drivers/net/wireless/iwlwifi/iwl-6000.c @@ -27,8 +27,6 @@  #include <linux/kernel.h>  #include <linux/module.h>  #include <linux/init.h> -#include <linux/pci.h> -#include <linux/dma-mapping.h>  #include <linux/delay.h>  #include <linux/skbuff.h>  #include <linux/netdevice.h> @@ -47,6 +45,7 @@  #include "iwl-helpers.h"  #include "iwl-agn-hw.h"  #include "iwl-6000-hw.h" +#include "iwl-trans.h"  /* Highest firmware API version supported */  #define IWL6000_UCODE_API_MAX 4 @@ -98,21 +97,7 @@ static void iwl6150_additional_nic_config(struct iwl_priv *priv)  /* NIC configuration for 6000 series */  static void iwl6000_nic_config(struct iwl_priv *priv)  { -	u16 radio_cfg; - -	radio_cfg = iwl_eeprom_query16(priv, EEPROM_RADIO_CONFIG); - -	/* write radio config values to register */ -	if (EEPROM_RF_CFG_TYPE_MSK(radio_cfg) <= EEPROM_RF_CONFIG_TYPE_MAX) -		iwl_set_bit(priv, CSR_HW_IF_CONFIG_REG, -			    EEPROM_RF_CFG_TYPE_MSK(radio_cfg) | -			    EEPROM_RF_CFG_STEP_MSK(radio_cfg) | -			    EEPROM_RF_CFG_DASH_MSK(radio_cfg)); - -	/* set CSR_HW_CONFIG_REG for uCode use */ -	iwl_set_bit(priv, CSR_HW_IF_CONFIG_REG, -		    CSR_HW_IF_CONFIG_REG_BIT_RADIO_SI | -		    CSR_HW_IF_CONFIG_REG_BIT_MAC_SI); +	iwl_rf_config(priv);  	/* no locking required for register write */  	if (priv->cfg->pa_type == IWL_PA_INTERNAL) { @@ -160,7 +145,6 @@ static int iwl6000_hw_set_hw_params(struct iwl_priv *priv)  			iwlagn_mod_params.num_of_queues;  	priv->hw_params.max_txq_num = priv->cfg->base_params->num_of_queues; -	priv->hw_params.dma_chnl_num = FH50_TCSR_CHNL_NUM;  	priv->hw_params.scd_bc_tbls_size =  			priv->cfg->base_params->num_of_queues *  			sizeof(struct iwlagn_scd_bc_tbl); @@ -173,7 +157,6 @@ static int iwl6000_hw_set_hw_params(struct iwl_priv *priv)  	priv->hw_params.ht40_channel =  BIT(IEEE80211_BAND_2GHZ) |  					BIT(IEEE80211_BAND_5GHZ); -	priv->hw_params.rx_wrt_ptr_reg = FH_RSCSR_CHNL0_WPTR;  	priv->hw_params.tx_chains_num = num_of_ant(priv->cfg->valid_tx_ant);  	if (priv->cfg->rx_with_siso_diversity) @@ -272,7 +255,7 @@ static int iwl6000_hw_channel_switch(struct iwl_priv *priv,  		return -EFAULT;  	} -	return iwl_send_cmd_sync(priv, &hcmd); +	return trans_send_cmd(priv, &hcmd);  }  static struct iwl_lib_ops iwl6000_lib = { @@ -280,13 +263,8 @@ static struct iwl_lib_ops iwl6000_lib = {  	.rx_handler_setup = iwlagn_rx_handler_setup,  	.setup_deferred_work = iwlagn_setup_deferred_work,  	.is_valid_rtc_data_addr = iwlagn_hw_valid_rtc_data_addr, -	.send_tx_power = iwlagn_send_tx_power, -	.update_chain_flags = iwl_update_chain_flags,  	.set_channel_switch = iwl6000_hw_channel_switch, -	.apm_ops = { -		.init = iwl_apm_init, -		.config = iwl6000_nic_config, -	}, +	.nic_config = iwl6000_nic_config,  	.eeprom_ops = {  		.regulatory_bands = {  			EEPROM_REG_BAND_1_CHANNELS, @@ -297,14 +275,9 @@ static struct iwl_lib_ops iwl6000_lib = {  			EEPROM_6000_REG_BAND_24_HT40_CHANNELS,  			EEPROM_REG_BAND_52_HT40_CHANNELS  		}, -		.query_addr = iwlagn_eeprom_query_addr,  		.update_enhanced_txpower = iwlcore_eeprom_enhanced_txpower,  	}, -	.temp_ops = { -		.temperature = iwlagn_temperature, -	 }, -	.txfifo_flush = iwlagn_txfifo_flush, -	.dev_txfifo_flush = iwlagn_dev_txfifo_flush, +	.temperature = iwlagn_temperature,  };  static struct iwl_lib_ops iwl6030_lib = { @@ -313,13 +286,8 @@ static struct iwl_lib_ops iwl6030_lib = {  	.setup_deferred_work = iwlagn_bt_setup_deferred_work,  	.cancel_deferred_work = iwlagn_bt_cancel_deferred_work,  	.is_valid_rtc_data_addr = iwlagn_hw_valid_rtc_data_addr, -	.send_tx_power = iwlagn_send_tx_power, -	.update_chain_flags = iwl_update_chain_flags,  	.set_channel_switch = iwl6000_hw_channel_switch, -	.apm_ops = { -		.init = iwl_apm_init, -		.config = iwl6000_nic_config, -	}, +	.nic_config = iwl6000_nic_config,  	.eeprom_ops = {  		.regulatory_bands = {  			EEPROM_REG_BAND_1_CHANNELS, @@ -330,14 +298,9 @@ static struct iwl_lib_ops iwl6030_lib = {  			EEPROM_6000_REG_BAND_24_HT40_CHANNELS,  			EEPROM_REG_BAND_52_HT40_CHANNELS  		}, -		.query_addr = iwlagn_eeprom_query_addr,  		.update_enhanced_txpower = iwlcore_eeprom_enhanced_txpower,  	}, -	.temp_ops = { -		.temperature = iwlagn_temperature, -	 }, -	.txfifo_flush = iwlagn_txfifo_flush, -	.dev_txfifo_flush = iwlagn_dev_txfifo_flush, +	.temperature = iwlagn_temperature,  };  static struct iwl_nic_ops iwl6050_nic_ops = { @@ -350,28 +313,20 @@ static struct iwl_nic_ops iwl6150_nic_ops = {  static const struct iwl_ops iwl6000_ops = {  	.lib = &iwl6000_lib, -	.hcmd = &iwlagn_hcmd, -	.utils = &iwlagn_hcmd_utils,  };  static const struct iwl_ops iwl6050_ops = {  	.lib = &iwl6000_lib, -	.hcmd = &iwlagn_hcmd, -	.utils = &iwlagn_hcmd_utils,  	.nic = &iwl6050_nic_ops,  };  static const struct iwl_ops iwl6150_ops = {  	.lib = &iwl6000_lib, -	.hcmd = &iwlagn_hcmd, -	.utils = &iwlagn_hcmd_utils,  	.nic = &iwl6150_nic_ops,  };  static const struct iwl_ops iwl6030_ops = {  	.lib = &iwl6030_lib, -	.hcmd = &iwlagn_bt_hcmd, -	.utils = &iwlagn_hcmd_utils,  };  static struct iwl_base_params iwl6000_base_params = {  |