iwlwifi: make hw rev checking more readable
authorLiad Kaufman <liad.kaufman@intel.com>
Sun, 7 Sep 2014 08:41:05 +0000 (11:41 +0300)
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Sun, 14 Sep 2014 09:56:39 +0000 (12:56 +0300)
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>
drivers/net/wireless/iwlwifi/iwl-csr.h
drivers/net/wireless/iwlwifi/iwl-io.c
drivers/net/wireless/iwlwifi/mvm/nvm.c
drivers/net/wireless/iwlwifi/pcie/trans.c

index 23d059af647693138e691121f95075600582d4f1..3f6f015285e57ee17666af25414e5a40ffb6dd78 100644 (file)
 #define CSR_HW_REV_DASH(_val)          (((_val) & 0x0000003) >> 0)
 #define CSR_HW_REV_STEP(_val)          (((_val) & 0x000000C) >> 2)
 
+
+/**
+ *  hw_rev values
+ */
+enum {
+       SILICON_A_STEP = 0,
+       SILICON_B_STEP,
+};
+
+
 #define CSR_HW_REV_TYPE_MSK            (0x000FFF0)
 #define CSR_HW_REV_TYPE_5300           (0x0000020)
 #define CSR_HW_REV_TYPE_5350           (0x0000030)
index 5eef4ae7333bad13527327cc851f022f23e3f991..7a2cbf6f90dbf39185c4a2e0ff52eddfb1b9d951 100644 (file)
@@ -193,7 +193,7 @@ void iwl_force_nmi(struct iwl_trans *trans)
         * DEVICE_SET_NMI_8000B_REG - is used.
         */
        if ((trans->cfg->device_family != IWL_DEVICE_FAMILY_8000) ||
-           ((trans->hw_rev & 0xc) == 0x0))
+           (CSR_HW_REV_STEP(trans->hw_rev) == SILICON_A_STEP))
                iwl_write_prph(trans, DEVICE_SET_NMI_REG, DEVICE_SET_NMI_VAL);
        else
                iwl_write_prph(trans, DEVICE_SET_NMI_8000B_REG,
index 4fafd4bd89f41d32e375030e2da55a62d05bf148..af074563e77076fafb88ae6c3d1c21a6f4da53e3 100644 (file)
@@ -64,6 +64,7 @@
  *****************************************************************************/
 #include <linux/firmware.h>
 #include "iwl-trans.h"
+#include "iwl-csr.h"
 #include "mvm.h"
 #include "iwl-eeprom-parse.h"
 #include "iwl-eeprom-read.h"
@@ -349,7 +350,7 @@ static int iwl_mvm_read_external_nvm(struct iwl_mvm *mvm)
        /* Maximal size depends on HW family and step */
        if (mvm->trans->cfg->device_family != IWL_DEVICE_FAMILY_8000)
                max_section_size = IWL_MAX_NVM_SECTION_SIZE;
-       else if ((mvm->trans->hw_rev & 0xc) == 0) /* Family 8000 A-step */
+       else if (CSR_HW_REV_STEP(mvm->trans->hw_rev) == SILICON_A_STEP)
                max_section_size = IWL_MAX_NVM_8000A_SECTION_SIZE;
        else /* Family 8000 B-step */
                max_section_size = IWL_MAX_NVM_8000B_SECTION_SIZE;
index 4add964a84f8e16c9da66c634dacebc48c484ebd..ae99240dcde49ef7780b16c79e7022993b753b90 100644 (file)
@@ -2190,7 +2190,7 @@ struct iwl_trans *iwl_trans_pcie_alloc(struct pci_dev *pdev,
         */
        if (trans->cfg->device_family == IWL_DEVICE_FAMILY_8000)
                trans->hw_rev = (trans->hw_rev & 0xfff0) |
-                               ((trans->hw_rev << 2) & 0xc);
+                               (CSR_HW_REV_STEP(trans->hw_rev << 2));
 
        trans->hw_id = (pdev->device << 16) + pdev->subsystem_device;
        snprintf(trans->hw_id_str, sizeof(trans->hw_id_str),