diff options
author | Liad Kaufman <liad.kaufman@intel.com> | 2014-09-07 04:41:05 -0400 |
---|---|---|
committer | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2014-09-14 05:56:39 -0400 |
commit | c2a2b28bb7fbcb8e0e11b84714992750bba7b699 (patch) | |
tree | 18d9abb17920a835f7258eb3a2e36280271df612 /drivers/net/wireless/iwlwifi | |
parent | 3a736bcb18f797996064cf18f4eecc4b3e46d39a (diff) |
iwlwifi: make hw rev checking more readable
Rather than ANDing with a mask - use existing macros, which
are more readable.
Signed-off-by: Liad Kaufman <liad.kaufman@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-csr.h | 10 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-io.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/mvm/nvm.c | 3 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/pcie/trans.c | 2 |
4 files changed, 14 insertions, 3 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-csr.h b/drivers/net/wireless/iwlwifi/iwl-csr.h index 23d059af6476..3f6f015285e5 100644 --- a/drivers/net/wireless/iwlwifi/iwl-csr.h +++ b/drivers/net/wireless/iwlwifi/iwl-csr.h | |||
@@ -295,6 +295,16 @@ | |||
295 | #define CSR_HW_REV_DASH(_val) (((_val) & 0x0000003) >> 0) | 295 | #define CSR_HW_REV_DASH(_val) (((_val) & 0x0000003) >> 0) |
296 | #define CSR_HW_REV_STEP(_val) (((_val) & 0x000000C) >> 2) | 296 | #define CSR_HW_REV_STEP(_val) (((_val) & 0x000000C) >> 2) |
297 | 297 | ||
298 | |||
299 | /** | ||
300 | * hw_rev values | ||
301 | */ | ||
302 | enum { | ||
303 | SILICON_A_STEP = 0, | ||
304 | SILICON_B_STEP, | ||
305 | }; | ||
306 | |||
307 | |||
298 | #define CSR_HW_REV_TYPE_MSK (0x000FFF0) | 308 | #define CSR_HW_REV_TYPE_MSK (0x000FFF0) |
299 | #define CSR_HW_REV_TYPE_5300 (0x0000020) | 309 | #define CSR_HW_REV_TYPE_5300 (0x0000020) |
300 | #define CSR_HW_REV_TYPE_5350 (0x0000030) | 310 | #define CSR_HW_REV_TYPE_5350 (0x0000030) |
diff --git a/drivers/net/wireless/iwlwifi/iwl-io.c b/drivers/net/wireless/iwlwifi/iwl-io.c index 5eef4ae7333b..7a2cbf6f90db 100644 --- a/drivers/net/wireless/iwlwifi/iwl-io.c +++ b/drivers/net/wireless/iwlwifi/iwl-io.c | |||
@@ -193,7 +193,7 @@ void iwl_force_nmi(struct iwl_trans *trans) | |||
193 | * DEVICE_SET_NMI_8000B_REG - is used. | 193 | * DEVICE_SET_NMI_8000B_REG - is used. |
194 | */ | 194 | */ |
195 | if ((trans->cfg->device_family != IWL_DEVICE_FAMILY_8000) || | 195 | if ((trans->cfg->device_family != IWL_DEVICE_FAMILY_8000) || |
196 | ((trans->hw_rev & 0xc) == 0x0)) | 196 | (CSR_HW_REV_STEP(trans->hw_rev) == SILICON_A_STEP)) |
197 | iwl_write_prph(trans, DEVICE_SET_NMI_REG, DEVICE_SET_NMI_VAL); | 197 | iwl_write_prph(trans, DEVICE_SET_NMI_REG, DEVICE_SET_NMI_VAL); |
198 | else | 198 | else |
199 | iwl_write_prph(trans, DEVICE_SET_NMI_8000B_REG, | 199 | iwl_write_prph(trans, DEVICE_SET_NMI_8000B_REG, |
diff --git a/drivers/net/wireless/iwlwifi/mvm/nvm.c b/drivers/net/wireless/iwlwifi/mvm/nvm.c index 4fafd4bd89f4..af074563e770 100644 --- a/drivers/net/wireless/iwlwifi/mvm/nvm.c +++ b/drivers/net/wireless/iwlwifi/mvm/nvm.c | |||
@@ -64,6 +64,7 @@ | |||
64 | *****************************************************************************/ | 64 | *****************************************************************************/ |
65 | #include <linux/firmware.h> | 65 | #include <linux/firmware.h> |
66 | #include "iwl-trans.h" | 66 | #include "iwl-trans.h" |
67 | #include "iwl-csr.h" | ||
67 | #include "mvm.h" | 68 | #include "mvm.h" |
68 | #include "iwl-eeprom-parse.h" | 69 | #include "iwl-eeprom-parse.h" |
69 | #include "iwl-eeprom-read.h" | 70 | #include "iwl-eeprom-read.h" |
@@ -349,7 +350,7 @@ static int iwl_mvm_read_external_nvm(struct iwl_mvm *mvm) | |||
349 | /* Maximal size depends on HW family and step */ | 350 | /* Maximal size depends on HW family and step */ |
350 | if (mvm->trans->cfg->device_family != IWL_DEVICE_FAMILY_8000) | 351 | if (mvm->trans->cfg->device_family != IWL_DEVICE_FAMILY_8000) |
351 | max_section_size = IWL_MAX_NVM_SECTION_SIZE; | 352 | max_section_size = IWL_MAX_NVM_SECTION_SIZE; |
352 | else if ((mvm->trans->hw_rev & 0xc) == 0) /* Family 8000 A-step */ | 353 | else if (CSR_HW_REV_STEP(mvm->trans->hw_rev) == SILICON_A_STEP) |
353 | max_section_size = IWL_MAX_NVM_8000A_SECTION_SIZE; | 354 | max_section_size = IWL_MAX_NVM_8000A_SECTION_SIZE; |
354 | else /* Family 8000 B-step */ | 355 | else /* Family 8000 B-step */ |
355 | max_section_size = IWL_MAX_NVM_8000B_SECTION_SIZE; | 356 | max_section_size = IWL_MAX_NVM_8000B_SECTION_SIZE; |
diff --git a/drivers/net/wireless/iwlwifi/pcie/trans.c b/drivers/net/wireless/iwlwifi/pcie/trans.c index 4add964a84f8..ae99240dcde4 100644 --- a/drivers/net/wireless/iwlwifi/pcie/trans.c +++ b/drivers/net/wireless/iwlwifi/pcie/trans.c | |||
@@ -2190,7 +2190,7 @@ struct iwl_trans *iwl_trans_pcie_alloc(struct pci_dev *pdev, | |||
2190 | */ | 2190 | */ |
2191 | if (trans->cfg->device_family == IWL_DEVICE_FAMILY_8000) | 2191 | if (trans->cfg->device_family == IWL_DEVICE_FAMILY_8000) |
2192 | trans->hw_rev = (trans->hw_rev & 0xfff0) | | 2192 | trans->hw_rev = (trans->hw_rev & 0xfff0) | |
2193 | ((trans->hw_rev << 2) & 0xc); | 2193 | (CSR_HW_REV_STEP(trans->hw_rev << 2)); |
2194 | 2194 | ||
2195 | trans->hw_id = (pdev->device << 16) + pdev->subsystem_device; | 2195 | trans->hw_id = (pdev->device << 16) + pdev->subsystem_device; |
2196 | snprintf(trans->hw_id_str, sizeof(trans->hw_id_str), | 2196 | snprintf(trans->hw_id_str, sizeof(trans->hw_id_str), |