wifi: ath12k: use ATH12K_PCI_IRQ_DP_OFFSET for DP IRQ
authorKang Yang <quic_kangyang@quicinc.com>
Fri, 1 Dec 2023 16:09:47 +0000 (18:09 +0200)
committerKalle Valo <quic_kvalo@quicinc.com>
Tue, 5 Dec 2023 15:04:19 +0000 (17:04 +0200)
Like ATH12K_PCI_IRQ_CE0_OFFSET, define ATH12K_PCI_IRQ_DP_OFFSET for
DP to save the IRQ instead of base_vector from MSI config.

Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0-03427-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.15378.4

Signed-off-by: Kang Yang <quic_kangyang@quicinc.com>
Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://lore.kernel.org/r/20231121021304.12966-4-quic_kangyang@quicinc.com
drivers/net/wireless/ath/ath12k/pci.c

index b22859cec9bf72285d5a4e42ac53f5ba08e3784a..9c8dfa002760f0dd9fe5c09eecc2c7065c308f06 100644 (file)
@@ -17,7 +17,8 @@
 #define ATH12K_PCI_BAR_NUM             0
 #define ATH12K_PCI_DMA_MASK            32
 
-#define ATH12K_PCI_IRQ_CE0_OFFSET              3
+#define ATH12K_PCI_IRQ_CE0_OFFSET      3
+#define ATH12K_PCI_IRQ_DP_OFFSET       14
 
 #define WINDOW_ENABLE_BIT              0x40000000
 #define WINDOW_REG_ADDRESS             0x310c
@@ -511,9 +512,8 @@ static irqreturn_t ath12k_pci_ext_interrupt_handler(int irq, void *arg)
 static int ath12k_pci_ext_irq_config(struct ath12k_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 = ATH12K_PCI_IRQ_CE0_OFFSET + CE_COUNT_MAX;
        ret = ath12k_pci_get_user_msi_assignment(ab, "DP",
                                                 &num_vectors,
                                                 &user_base_data,
@@ -542,7 +542,7 @@ static int ath12k_pci_ext_irq_config(struct ath12k_base *ab)
                }
 
                irq_grp->num_irq = num_irq;
-               irq_grp->irqs[0] = base_idx + i;
+               irq_grp->irqs[0] = ATH12K_PCI_IRQ_DP_OFFSET + i;
 
                for (j = 0; j < irq_grp->num_irq; j++) {
                        int irq_idx = irq_grp->irqs[j];