]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
iwlwifi: mvm: fix 22000 series driver NMI
authorJohannes Berg <johannes.berg@intel.com>
Wed, 9 Dec 2020 21:16:30 +0000 (23:16 +0200)
committerLuca Coelho <luciano.coelho@intel.com>
Wed, 9 Dec 2020 22:14:17 +0000 (00:14 +0200)
For triggering an NMI in the firmware, we should only set BIT(24)
in the corresponding register, not the entire mask that's usable
by the driver.

This currently doesn't matter because the firmware only enables
BIT(24), but we'll start using BIT(25) for other purposes with an
upcoming API change.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20201209231352.2f982365d085.Id09daabfd331ba9e120abcbbedd2ad6448902ed0@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
drivers/net/wireless/intel/iwlwifi/iwl-io.c
drivers/net/wireless/intel/iwlwifi/iwl-prph.h

index 2139f0b8f2bba736207f29487daa336d30c752e4..b24160fe73d3127f356b1d1837e04438a2312a58 100644 (file)
@@ -279,7 +279,7 @@ void iwl_force_nmi(struct iwl_trans *trans)
                               DEVICE_SET_NMI_VAL_DRV);
        else if (trans->trans_cfg->device_family < IWL_DEVICE_FAMILY_AX210)
                iwl_write_umac_prph(trans, UREG_NIC_SET_NMI_DRIVER,
-                               UREG_NIC_SET_NMI_DRIVER_NMI_FROM_DRIVER_MSK);
+                               UREG_NIC_SET_NMI_DRIVER_NMI_FROM_DRIVER);
        else
                iwl_write_umac_prph(trans, UREG_DOORBELL_TO_ISR6,
                                    UREG_DOORBELL_TO_ISR6_NMI_BIT);
index 6c44a49640bee35370eff4ae355261de04e67be4..1a1628550cced3a6df082000a8b39adb22b53ae5 100644 (file)
 #define DEVICE_SET_NMI_VAL_DRV BIT(7)
 /* Device NMI register and value for 9000 family and above hw's */
 #define UREG_NIC_SET_NMI_DRIVER 0x00a05c10
-#define UREG_NIC_SET_NMI_DRIVER_NMI_FROM_DRIVER_MSK 0xff000000
+#define UREG_NIC_SET_NMI_DRIVER_NMI_FROM_DRIVER BIT(24)
 
 /* Shared registers (0x0..0x3ff, via target indirect or periphery */
 #define SHR_BASE       0x00a10000