mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-22 14:21:55 +07:00
iwlwifi: correctly set the NMI register
When we want to trigger an NMI in the device, we need to set bit 7 and not bit 0. However, older firmwares don't register to the interrupt issued by bit 7. Use bit 7 first so that the correct interrupt will be issued hoping that the firmware will react. To be on the safe side, set bit 0 in case the firmware didn't register to the proper interrupt. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
This commit is contained in:
parent
04fd2c2822
commit
66396583e1
@ -193,11 +193,15 @@ void iwl_force_nmi(struct iwl_trans *trans)
|
|||||||
* DEVICE_SET_NMI_8000B_REG - is used.
|
* DEVICE_SET_NMI_8000B_REG - is used.
|
||||||
*/
|
*/
|
||||||
if ((trans->cfg->device_family != IWL_DEVICE_FAMILY_8000) ||
|
if ((trans->cfg->device_family != IWL_DEVICE_FAMILY_8000) ||
|
||||||
(CSR_HW_REV_STEP(trans->hw_rev) == SILICON_A_STEP))
|
(CSR_HW_REV_STEP(trans->hw_rev) == SILICON_A_STEP)) {
|
||||||
iwl_write_prph(trans, DEVICE_SET_NMI_REG, DEVICE_SET_NMI_VAL);
|
iwl_write_prph(trans, DEVICE_SET_NMI_REG,
|
||||||
else
|
DEVICE_SET_NMI_VAL_DRV);
|
||||||
|
iwl_write_prph(trans, DEVICE_SET_NMI_REG,
|
||||||
|
DEVICE_SET_NMI_VAL_HW);
|
||||||
|
} else {
|
||||||
iwl_write_prph(trans, DEVICE_SET_NMI_8000B_REG,
|
iwl_write_prph(trans, DEVICE_SET_NMI_8000B_REG,
|
||||||
DEVICE_SET_NMI_8000B_VAL);
|
DEVICE_SET_NMI_8000B_VAL);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
IWL_EXPORT_SYMBOL(iwl_force_nmi);
|
IWL_EXPORT_SYMBOL(iwl_force_nmi);
|
||||||
|
|
||||||
|
@ -108,7 +108,8 @@
|
|||||||
|
|
||||||
/* Device NMI register */
|
/* Device NMI register */
|
||||||
#define DEVICE_SET_NMI_REG 0x00a01c30
|
#define DEVICE_SET_NMI_REG 0x00a01c30
|
||||||
#define DEVICE_SET_NMI_VAL 0x1
|
#define DEVICE_SET_NMI_VAL_HW BIT(0)
|
||||||
|
#define DEVICE_SET_NMI_VAL_DRV BIT(7)
|
||||||
#define DEVICE_SET_NMI_8000B_REG 0x00a01c24
|
#define DEVICE_SET_NMI_8000B_REG 0x00a01c24
|
||||||
#define DEVICE_SET_NMI_8000B_VAL 0x1000000
|
#define DEVICE_SET_NMI_8000B_VAL 0x1000000
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user