]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
iwlwifi: pcie: remove MSIX_HW_INT_CAUSES_REG_IML handling
authorJohannes Berg <johannes.berg@intel.com>
Wed, 9 Dec 2020 21:16:33 +0000 (23:16 +0200)
committerLuca Coelho <luciano.coelho@intel.com>
Wed, 9 Dec 2020 22:14:19 +0000 (00:14 +0200)
This is actually wrong, the bit used here by the image loader
is BIT(1), not BIT(2). The latter will be reused by the new
reset flow soon.

However, as we never had any complaints about not printing
the IML status or not handling the IML error interrupt (and
I suspect the code handling it was incorrectly anyway) just
remove the code for it.

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.9a323f4a3493.Ic7aee4dbbf4be42287c338c2fa1b111473724116@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
drivers/net/wireless/intel/iwlwifi/iwl-csr.h
drivers/net/wireless/intel/iwlwifi/pcie/rx.c
drivers/net/wireless/intel/iwlwifi/pcie/trans.c

index 1d48c7d7fffd4e96dd43ff9acde4ee0c99982ded..0a98822965ef7f3b53494e33317631c39989a95d 100644 (file)
@@ -638,7 +638,7 @@ enum msix_fh_int_causes {
 enum msix_hw_int_causes {
        MSIX_HW_INT_CAUSES_REG_ALIVE            = BIT(0),
        MSIX_HW_INT_CAUSES_REG_WAKEUP           = BIT(1),
-       MSIX_HW_INT_CAUSES_REG_IML              = BIT(2),
+       MSIX_HW_INT_CAUSES_REG_IML              = BIT(1),
        MSIX_HW_INT_CAUSES_REG_CT_KILL          = BIT(6),
        MSIX_HW_INT_CAUSES_REG_RF_KILL          = BIT(7),
        MSIX_HW_INT_CAUSES_REG_PERIODIC         = BIT(8),
index ed200f541bfcbefbefb4ce827d5e82f2a260e7d9..8ad58dced04575f58610f08267f52ec774edfe06 100644 (file)
@@ -2283,17 +2283,6 @@ irqreturn_t iwl_pcie_irq_msix_handler(int irq, void *dev_id)
                }
        }
 
-       if (inta_hw & MSIX_HW_INT_CAUSES_REG_IML) {
-               /* Reflect IML transfer status */
-               int res = iwl_read32(trans, CSR_IML_RESP_ADDR);
-
-               IWL_DEBUG_ISR(trans, "IML transfer status: %d\n", res);
-               if (res == IWL_IMAGE_RESP_FAIL) {
-                       isr_stats->sw++;
-                       iwl_pcie_irq_handle_error(trans);
-               }
-       }
-
        /* Chip got too hot and stopped itself */
        if (inta_hw & MSIX_HW_INT_CAUSES_REG_CT_KILL) {
                IWL_ERR(trans, "Microcode CT kill error detected.\n");
index 14608993e9ef83781644070f7071f4ac6cf8a5c4..1513f47b94251782075cef8ca03f256f8a788752 100644 (file)
@@ -1103,7 +1103,6 @@ static struct iwl_causes_list causes_list[] = {
        {MSIX_FH_INT_CAUSES_FH_ERR,             CSR_MSIX_FH_INT_MASK_AD, 0x5},
        {MSIX_HW_INT_CAUSES_REG_ALIVE,          CSR_MSIX_HW_INT_MASK_AD, 0x10},
        {MSIX_HW_INT_CAUSES_REG_WAKEUP,         CSR_MSIX_HW_INT_MASK_AD, 0x11},
-       {MSIX_HW_INT_CAUSES_REG_IML,            CSR_MSIX_HW_INT_MASK_AD, 0x12},
        {MSIX_HW_INT_CAUSES_REG_CT_KILL,        CSR_MSIX_HW_INT_MASK_AD, 0x16},
        {MSIX_HW_INT_CAUSES_REG_RF_KILL,        CSR_MSIX_HW_INT_MASK_AD, 0x17},
        {MSIX_HW_INT_CAUSES_REG_PERIODIC,       CSR_MSIX_HW_INT_MASK_AD, 0x18},