aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorEran Harary <eran.harary@intel.com>2014-12-02 08:19:22 -0500
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>2014-12-28 13:00:16 -0500
commit363039be5b9dcbb9df9136c7106d8775f71e43c6 (patch)
tree6da4c6235cadd238e781db5809f581f9dc7760a7 /drivers/net/wireless
parent6a028d9a26446a937fa5c2eaca9407985ef98add (diff)
iwlwifi: mvm: support additional nvm_file in family 8000 B step
nvm_file in family 8000 B step and A step differ. This means that the driver should support 2 file name as default. Signed-off-by: Eran Harary <eran.harary@intel.com> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-8000.c5
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-config.h1
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/mac80211.c1
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/ops.c11
4 files changed, 14 insertions, 4 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-8000.c b/drivers/net/wireless/iwlwifi/iwl-8000.c
index 6c5c55856a35..8f64928aeb42 100644
--- a/drivers/net/wireless/iwlwifi/iwl-8000.c
+++ b/drivers/net/wireless/iwlwifi/iwl-8000.c
@@ -90,7 +90,8 @@
90 IWL8000_FW_PRE "-" __stringify(api) ".ucode" 90 IWL8000_FW_PRE "-" __stringify(api) ".ucode"
91 91
92#define NVM_HW_SECTION_NUM_FAMILY_8000 10 92#define NVM_HW_SECTION_NUM_FAMILY_8000 10
93#define DEFAULT_NVM_FILE_FAMILY_8000 "iwl_nvm_8000.bin" 93#define DEFAULT_NVM_FILE_FAMILY_8000A "iwl_nvm_8000.bin"
94#define DEFAULT_NVM_FILE_FAMILY_8000 "iwl_nvm_8000B.bin"
94 95
95/* Max SDIO RX aggregation size of the ADDBA request/response */ 96/* Max SDIO RX aggregation size of the ADDBA request/response */
96#define MAX_RX_AGG_SIZE_8260_SDIO 28 97#define MAX_RX_AGG_SIZE_8260_SDIO 28
@@ -159,6 +160,7 @@ const struct iwl_cfg iwl8260_2ac_sdio_cfg = {
159 .nvm_ver = IWL8000_NVM_VERSION, 160 .nvm_ver = IWL8000_NVM_VERSION,
160 .nvm_calib_ver = IWL8000_TX_POWER_VERSION, 161 .nvm_calib_ver = IWL8000_TX_POWER_VERSION,
161 .default_nvm_file = DEFAULT_NVM_FILE_FAMILY_8000, 162 .default_nvm_file = DEFAULT_NVM_FILE_FAMILY_8000,
163 .default_nvm_file_8000A = DEFAULT_NVM_FILE_FAMILY_8000A,
162 .max_rx_agg_size = MAX_RX_AGG_SIZE_8260_SDIO, 164 .max_rx_agg_size = MAX_RX_AGG_SIZE_8260_SDIO,
163 .disable_dummy_notification = true, 165 .disable_dummy_notification = true,
164 .max_ht_ampdu_exponent = MAX_HT_AMPDU_EXPONENT_8260_SDIO, 166 .max_ht_ampdu_exponent = MAX_HT_AMPDU_EXPONENT_8260_SDIO,
@@ -173,6 +175,7 @@ const struct iwl_cfg iwl4165_2ac_sdio_cfg = {
173 .nvm_ver = IWL8000_NVM_VERSION, 175 .nvm_ver = IWL8000_NVM_VERSION,
174 .nvm_calib_ver = IWL8000_TX_POWER_VERSION, 176 .nvm_calib_ver = IWL8000_TX_POWER_VERSION,
175 .default_nvm_file = DEFAULT_NVM_FILE_FAMILY_8000, 177 .default_nvm_file = DEFAULT_NVM_FILE_FAMILY_8000,
178 .default_nvm_file_8000A = DEFAULT_NVM_FILE_FAMILY_8000A,
176 .max_rx_agg_size = MAX_RX_AGG_SIZE_8260_SDIO, 179 .max_rx_agg_size = MAX_RX_AGG_SIZE_8260_SDIO,
177 .bt_shared_single_ant = true, 180 .bt_shared_single_ant = true,
178 .disable_dummy_notification = true, 181 .disable_dummy_notification = true,
diff --git a/drivers/net/wireless/iwlwifi/iwl-config.h b/drivers/net/wireless/iwlwifi/iwl-config.h
index 31c67dfabf55..2daabab7ec3f 100644
--- a/drivers/net/wireless/iwlwifi/iwl-config.h
+++ b/drivers/net/wireless/iwlwifi/iwl-config.h
@@ -300,6 +300,7 @@ struct iwl_cfg {
300 const struct iwl_pwr_tx_backoff *pwr_tx_backoffs; 300 const struct iwl_pwr_tx_backoff *pwr_tx_backoffs;
301 bool no_power_up_nic_in_init; 301 bool no_power_up_nic_in_init;
302 const char *default_nvm_file; 302 const char *default_nvm_file;
303 const char *default_nvm_file_8000A;
303 unsigned int max_rx_agg_size; 304 unsigned int max_rx_agg_size;
304 bool disable_dummy_notification; 305 bool disable_dummy_notification;
305 unsigned int max_tx_agg_size; 306 unsigned int max_tx_agg_size;
diff --git a/drivers/net/wireless/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/iwlwifi/mvm/mac80211.c
index 2293a51f3c3a..f53bfd6e8df8 100644
--- a/drivers/net/wireless/iwlwifi/mvm/mac80211.c
+++ b/drivers/net/wireless/iwlwifi/mvm/mac80211.c
@@ -85,6 +85,7 @@
85#include "testmode.h" 85#include "testmode.h"
86#include "iwl-fw-error-dump.h" 86#include "iwl-fw-error-dump.h"
87#include "iwl-prph.h" 87#include "iwl-prph.h"
88#include "iwl-csr.h"
88 89
89static const struct ieee80211_iface_limit iwl_mvm_limits[] = { 90static const struct ieee80211_iface_limit iwl_mvm_limits[] = {
90 { 91 {
diff --git a/drivers/net/wireless/iwlwifi/mvm/ops.c b/drivers/net/wireless/iwlwifi/mvm/ops.c
index 146554c88c14..b2fa3b878f79 100644
--- a/drivers/net/wireless/iwlwifi/mvm/ops.c
+++ b/drivers/net/wireless/iwlwifi/mvm/ops.c
@@ -511,10 +511,15 @@ iwl_op_mode_mvm_start(struct iwl_trans *trans, const struct iwl_cfg *cfg,
511 min_backoff = calc_min_backoff(trans, cfg); 511 min_backoff = calc_min_backoff(trans, cfg);
512 iwl_mvm_tt_initialize(mvm, min_backoff); 512 iwl_mvm_tt_initialize(mvm, min_backoff);
513 /* set the nvm_file_name according to priority */ 513 /* set the nvm_file_name according to priority */
514 if (iwlwifi_mod_params.nvm_file) 514 if (iwlwifi_mod_params.nvm_file) {
515 mvm->nvm_file_name = iwlwifi_mod_params.nvm_file; 515 mvm->nvm_file_name = iwlwifi_mod_params.nvm_file;
516 else 516 } else {
517 mvm->nvm_file_name = mvm->cfg->default_nvm_file; 517 if ((trans->cfg->device_family == IWL_DEVICE_FAMILY_8000) &&
518 (CSR_HW_REV_STEP(trans->hw_rev) == SILICON_A_STEP))
519 mvm->nvm_file_name = mvm->cfg->default_nvm_file_8000A;
520 else
521 mvm->nvm_file_name = mvm->cfg->default_nvm_file;
522 }
518 523
519 if (WARN(cfg->no_power_up_nic_in_init && !mvm->nvm_file_name, 524 if (WARN(cfg->no_power_up_nic_in_init && !mvm->nvm_file_name,
520 "not allowing power-up and not having nvm_file\n")) 525 "not allowing power-up and not having nvm_file\n"))