mirror of https://gitee.com/openkylin/linux.git
iwlwifi: configure the SKU in the HW
This was missing. Fix the mask of the REV_TYPE on the way. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
7b6a2be9e4
commit
08838cdeca
|
@ -2218,6 +2218,15 @@ static void iwl_nic_config(struct iwl_op_mode *op_mode)
|
||||||
{
|
{
|
||||||
struct iwl_priv *priv = IWL_OP_MODE_GET_DVM(op_mode);
|
struct iwl_priv *priv = IWL_OP_MODE_GET_DVM(op_mode);
|
||||||
|
|
||||||
|
/* SKU Control */
|
||||||
|
iwl_set_bits_mask(priv->trans, CSR_HW_IF_CONFIG_REG,
|
||||||
|
CSR_HW_IF_CONFIG_REG_MSK_MAC_DASH |
|
||||||
|
CSR_HW_IF_CONFIG_REG_MSK_MAC_STEP,
|
||||||
|
(CSR_HW_REV_STEP(priv->trans->hw_rev) <<
|
||||||
|
CSR_HW_IF_CONFIG_REG_POS_MAC_STEP) |
|
||||||
|
(CSR_HW_REV_DASH(priv->trans->hw_rev) <<
|
||||||
|
CSR_HW_IF_CONFIG_REG_POS_MAC_DASH));
|
||||||
|
|
||||||
priv->lib->nic_config(priv);
|
priv->lib->nic_config(priv);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -97,13 +97,10 @@
|
||||||
/*
|
/*
|
||||||
* Hardware revision info
|
* Hardware revision info
|
||||||
* Bit fields:
|
* Bit fields:
|
||||||
* 31-8: Reserved
|
* 31-16: Reserved
|
||||||
* 7-4: Type of device: see CSR_HW_REV_TYPE_xxx definitions
|
* 15-4: Type of device: see CSR_HW_REV_TYPE_xxx definitions
|
||||||
* 3-2: Revision step: 0 = A, 1 = B, 2 = C, 3 = D
|
* 3-2: Revision step: 0 = A, 1 = B, 2 = C, 3 = D
|
||||||
* 1-0: "Dash" (-) value, as in A-1, etc.
|
* 1-0: "Dash" (-) value, as in A-1, etc.
|
||||||
*
|
|
||||||
* NOTE: Revision step affects calculation of CCK txpower for 4965.
|
|
||||||
* NOTE: See also CSR_HW_REV_WA_REG (work-around for bug in 4965).
|
|
||||||
*/
|
*/
|
||||||
#define CSR_HW_REV (CSR_BASE+0x028)
|
#define CSR_HW_REV (CSR_BASE+0x028)
|
||||||
|
|
||||||
|
@ -282,7 +279,10 @@
|
||||||
|
|
||||||
|
|
||||||
/* HW REV */
|
/* HW REV */
|
||||||
#define CSR_HW_REV_TYPE_MSK (0x00001F0)
|
#define CSR_HW_REV_DASH(_val) (((_val) & 0x0000003) >> 0)
|
||||||
|
#define CSR_HW_REV_STEP(_val) (((_val) & 0x000000C) >> 2)
|
||||||
|
|
||||||
|
#define CSR_HW_REV_TYPE_MSK (0x000FFF0)
|
||||||
#define CSR_HW_REV_TYPE_5300 (0x0000020)
|
#define CSR_HW_REV_TYPE_5300 (0x0000020)
|
||||||
#define CSR_HW_REV_TYPE_5350 (0x0000030)
|
#define CSR_HW_REV_TYPE_5350 (0x0000030)
|
||||||
#define CSR_HW_REV_TYPE_5100 (0x0000050)
|
#define CSR_HW_REV_TYPE_5100 (0x0000050)
|
||||||
|
|
Loading…
Reference in New Issue