OSDN Git Service

iwlwifi: fix Bz NMI behaviour
authorJohannes Berg <johannes.berg@intel.com>
Fri, 10 Dec 2021 07:06:11 +0000 (09:06 +0200)
committerLuca Coelho <luciano.coelho@intel.com>
Tue, 21 Dec 2021 10:35:04 +0000 (12:35 +0200)
Contrary to what was stated before, the hardware hasn't changed
the bits here yet. In any case, the new CSR is also directly
(lower 16 bits) connected to UREG_DOORBELL_TO_ISR6, so if it
still changes the changes would be there. Adjust the code and
comments accordingly.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Fixes: 6c0795f1a524 ("iwlwifi: implement Bz NMI behaviour")
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20211210090244.75b6207536e3.I7d170a48a9096e6b7269c3a9f447c326f929b171@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
drivers/net/wireless/intel/iwlwifi/iwl-csr.h
drivers/net/wireless/intel/iwlwifi/iwl-io.c

index 21d8249..f90d466 100644 (file)
 #define CSR_IPC_SLEEP_CONTROL_SUSPEND  0x3
 #define CSR_IPC_SLEEP_CONTROL_RESUME   0
 
-/* Doorbell NMI (since Bz) */
+/* Doorbell - since Bz
+ * connected to UREG_DOORBELL_TO_ISR6 (lower 16 bits only)
+ */
 #define CSR_DOORBELL_VECTOR    (CSR_BASE + 0x130)
-#define CSR_DOORBELL_VECTOR_NMI        BIT(1)
 
 /* host chicken bits */
 #define CSR_HOST_CHICKEN       (CSR_BASE + 0x204)
index 46917b4..253eac4 100644 (file)
@@ -218,7 +218,7 @@ void iwl_force_nmi(struct iwl_trans *trans)
                                    UREG_DOORBELL_TO_ISR6_NMI_BIT);
        else
                iwl_write32(trans, CSR_DOORBELL_VECTOR,
-                           CSR_DOORBELL_VECTOR_NMI);
+                           UREG_DOORBELL_TO_ISR6_NMI_BIT);
 }
 IWL_EXPORT_SYMBOL(iwl_force_nmi);