Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c2a2b28b authored by Liad Kaufman's avatar Liad Kaufman Committed by Emmanuel Grumbach
Browse files

iwlwifi: make hw rev checking more readable



Rather than ANDing with a mask - use existing macros, which
are more readable.

Signed-off-by: default avatarLiad Kaufman <liad.kaufman@intel.com>
Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
parent 3a736bcb
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -295,6 +295,16 @@
#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)
+1 −1
Original line number Diff line number Diff line
@@ -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,
+2 −1
Original line number Diff line number Diff line
@@ -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;
+1 −1
Original line number Diff line number Diff line
@@ -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),