ath11k: use ATH11K_PCI_IRQ_DP_OFFSET for DP IRQ
authorCarl Huang <cjhuang@codeaurora.org>
Fri, 19 Nov 2021 13:36:26 +0000 (15:36 +0200)
committerKalle Valo <kvalo@codeaurora.org>
Mon, 22 Nov 2021 11:11:01 +0000 (13:11 +0200)
Like ATH11K_PCI_IRQ_CE0_OFFSET, define ATH11K_PCI_IRQ_DP_OFFSET for
DP to save the IRQ instead of base_vector from MSI config.

Tested-on: QCA6390 hw2.0 PCI WLAN.HST.1.0.1-01740-QCAHSTSWPLZ_V2_TO_X86-1

Signed-off-by: Carl Huang <cjhuang@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Signed-off-by: Baochen Qiang <bqiang@codeaurora.org>
Link: https://lore.kernel.org/r/20211026041655.5112-1-bqiang@codeaurora.org
drivers/net/wireless/ath/ath11k/pci.c

index a51fc430065555ce5734cd62c11ff17bb3185a5a..c74e24ce0bd3a096fc0de103c93f112f6c4f969f 100644 (file)
@@ -16,7 +16,8 @@
 #define ATH11K_PCI_BAR_NUM             0
 #define ATH11K_PCI_DMA_MASK            32
 
-#define ATH11K_PCI_IRQ_CE0_OFFSET              3
+#define ATH11K_PCI_IRQ_CE0_OFFSET      3
+#define ATH11K_PCI_IRQ_DP_OFFSET       14
 
 #define WINDOW_ENABLE_BIT              0x40000000
 #define WINDOW_REG_ADDRESS             0x310c
@@ -736,9 +737,8 @@ static irqreturn_t ath11k_pci_ext_interrupt_handler(int irq, void *arg)
 static int ath11k_pci_ext_irq_config(struct ath11k_base *ab)
 {
        int i, j, ret, num_vectors = 0;
-       u32 user_base_data = 0, base_vector = 0, base_idx;
+       u32 user_base_data = 0, base_vector = 0;
 
-       base_idx = ATH11K_PCI_IRQ_CE0_OFFSET + CE_COUNT_MAX;
        ret = ath11k_pci_get_user_msi_assignment(ath11k_pci_priv(ab), "DP",
                                                 &num_vectors,
                                                 &user_base_data,
@@ -768,7 +768,7 @@ static int ath11k_pci_ext_irq_config(struct ath11k_base *ab)
                }
 
                irq_grp->num_irq = num_irq;
-               irq_grp->irqs[0] = base_idx + i;
+               irq_grp->irqs[0] = ATH11K_PCI_IRQ_DP_OFFSET + i;
 
                for (j = 0; j < irq_grp->num_irq; j++) {
                        int irq_idx = irq_grp->irqs[j];