aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-5000.c
diff options
context:
space:
mode:
authorWey-Yi Guy <wey-yi.w.guy@intel.com>2009-09-11 13:38:10 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-10-07 16:39:31 -0400
commit9371d4ed79c1c2efefa00226f7f6b95e0e0b8f2b (patch)
tree962fa2914b44ef5b170d3daee07529d23e199d73 /drivers/net/wireless/iwlwifi/iwl-5000.c
parent1b07a1307250e55fe00c076b33d0ab5ac088a489 (diff)
iwlwifi: separate nic_config for different NIC
Different NIC has different requirements for configuration. Currently all 5000 series hardware and later share the same configuration function even though they do not need the same configurations. Fix this by separating the needed configuration actions for each hardware model. .5000 series: L1-ASPM H/W bug work-around configure radio write CSR_HW_IF_CONFIG_REG for uCode use work-around for NIC get stuck after early PCIe power off .1000 series: write CSR_HW_IF_CONFIG_REG for uCode use setting digital SVR for 1000 card to 1.32V .6000 series: configure radio write CSR_HW_IF_CONFIG_REG for uCode use write CSR_GP_DRIVER_REG to indicate radio sku Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@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-5000.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-5000.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-5000.c b/drivers/net/wireless/iwlwifi/iwl-5000.c
index eb08f4411000..d312ef03245f 100644
--- a/drivers/net/wireless/iwlwifi/iwl-5000.c
+++ b/drivers/net/wireless/iwlwifi/iwl-5000.c
@@ -198,7 +198,7 @@ out:
198} 198}
199 199
200 200
201/* NIC configuration for 5000 series and up */ 201/* NIC configuration for 5000 series */
202void iwl5000_nic_config(struct iwl_priv *priv) 202void iwl5000_nic_config(struct iwl_priv *priv)
203{ 203{
204 unsigned long flags; 204 unsigned long flags;
@@ -221,7 +221,7 @@ void iwl5000_nic_config(struct iwl_priv *priv)
221 radio_cfg = iwl_eeprom_query16(priv, EEPROM_RADIO_CONFIG); 221 radio_cfg = iwl_eeprom_query16(priv, EEPROM_RADIO_CONFIG);
222 222
223 /* write radio config values to register */ 223 /* write radio config values to register */
224 if (EEPROM_RF_CFG_TYPE_MSK(radio_cfg) < EEPROM_5000_RF_CFG_TYPE_MAX) 224 if (EEPROM_RF_CFG_TYPE_MSK(radio_cfg) < EEPROM_RF_CONFIG_TYPE_MAX)
225 iwl_set_bit(priv, CSR_HW_IF_CONFIG_REG, 225 iwl_set_bit(priv, CSR_HW_IF_CONFIG_REG,
226 EEPROM_RF_CFG_TYPE_MSK(radio_cfg) | 226 EEPROM_RF_CFG_TYPE_MSK(radio_cfg) |
227 EEPROM_RF_CFG_STEP_MSK(radio_cfg) | 227 EEPROM_RF_CFG_STEP_MSK(radio_cfg) |