qcacmn: Interrupt Changes for QCA5332

Added interrupt registering code for tx monitor and umac_reset

Change-Id: Id76329a908859a512cef23d68a4afbff794af09a
CRs-Fixed: 3340347
Bu işleme şunda yer alıyor:
Hariharan Ramanathan
2022-11-04 16:32:53 +05:30
işlemeyi yapan: Madan Koyyalamudi
ebeveyn fcc7724ea7
işleme b673b97a2d
4 değiştirilmiş dosya ile 34 ekleme ve 4 silme

Dosyayı Görüntüle

@@ -3277,6 +3277,12 @@ static void dp_soc_interrupt_map_calculate_integrated(struct dp_soc *soc,
soc->wlan_cfg_ctx, intr_ctx_num); soc->wlan_cfg_ctx, intr_ctx_num);
int host2rxdma_mon_ring_mask = wlan_cfg_get_host2rxdma_mon_ring_mask( int host2rxdma_mon_ring_mask = wlan_cfg_get_host2rxdma_mon_ring_mask(
soc->wlan_cfg_ctx, intr_ctx_num); soc->wlan_cfg_ctx, intr_ctx_num);
int host2txmon_ring_mask = wlan_cfg_get_host2txmon_ring_mask(
soc->wlan_cfg_ctx, intr_ctx_num);
int txmon2host_mon_ring_mask = wlan_cfg_get_tx_mon_ring_mask(
soc->wlan_cfg_ctx, intr_ctx_num);
int umac_reset_mask = wlan_cfg_get_umac_reset_intr_mask(
soc->wlan_cfg_ctx, intr_ctx_num);
soc->intr_mode = DP_INTR_INTEGRATED; soc->intr_mode = DP_INTR_INTEGRATED;
@@ -3325,6 +3331,17 @@ static void dp_soc_interrupt_map_calculate_integrated(struct dp_soc *soc,
if (reo_status_ring_mask & (1 << j)) if (reo_status_ring_mask & (1 << j))
irq_id_map[num_irq++] = reo2host_status; irq_id_map[num_irq++] = reo2host_status;
if (host2txmon_ring_mask & (1 << j))
irq_id_map[num_irq++] = host2tx_monitor_ring1;
if (txmon2host_mon_ring_mask & (1 << j)) {
irq_id_map[num_irq++] =
(txmon2host_monitor_destination_mac1 - j);
}
if (umac_reset_mask & (1 << j))
irq_id_map[num_irq++] = (umac_reset - j);
} }
*num_irq_r = num_irq; *num_irq_r = num_irq;
} }

Dosyayı Görüntüle

@@ -131,6 +131,11 @@ enum hif_ic_irq {
wbm2host_tx_completions_ring2, wbm2host_tx_completions_ring2,
wbm2host_tx_completions_ring1, wbm2host_tx_completions_ring1,
tcl2host_status_ring, tcl2host_status_ring,
txmon2host_monitor_destination_mac3,
txmon2host_monitor_destination_mac2,
txmon2host_monitor_destination_mac1,
host2tx_monitor_ring1,
umac_reset,
}; };
#ifdef QCA_SUPPORT_LEGACY_INTERRUPTS #ifdef QCA_SUPPORT_LEGACY_INTERRUPTS

Dosyayı Görüntüle

@@ -44,7 +44,7 @@
#endif #endif
#define HIF_IC_CE0_IRQ_OFFSET 4 #define HIF_IC_CE0_IRQ_OFFSET 4
#define HIF_IC_MAX_IRQ 53 #define HIF_IC_MAX_IRQ 58
static uint16_t ic_irqnum[HIF_IC_MAX_IRQ]; static uint16_t ic_irqnum[HIF_IC_MAX_IRQ];
/* integrated chip irq names */ /* integrated chip irq names */
@@ -102,6 +102,11 @@ const char *ic_irqname[HIF_IC_MAX_IRQ] = {
"wbm2host-tx-completions-ring2", "wbm2host-tx-completions-ring2",
"wbm2host-tx-completions-ring1", "wbm2host-tx-completions-ring1",
"tcl2host-status-ring", "tcl2host-status-ring",
"txmon2host-monitor-destination-mac3",
"txmon2host-monitor-destination-mac2",
"txmon2host-monitor-destination-mac1",
"host2tx-monitor-ring1",
"umac_reset"
}; };
/** hif_ahb_get_irq_name() - get irqname /** hif_ahb_get_irq_name() - get irqname

Dosyayı Görüntüle

@@ -863,11 +863,14 @@ static struct dp_int_mask_assignment dp_mask_assignment[NUM_INTERRUPT_COMBINATIO
/* tx_ring_near_full_irq mask */ /* tx_ring_near_full_irq mask */
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* host2txmon ring masks */ /* host2txmon ring masks */
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {WLAN_CFG_HOST2TXMON_RING_MASK_0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0},
/* tx mon ring masks */ /* tx mon ring masks */
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {WLAN_CFG_TX_MON_RING_MASK_0, WLAN_CFG_TX_MON_RING_MASK_1, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* umac reset mask */ /* umac reset mask */
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
WLAN_CFG_UMAC_RESET_INTR_MASK_0},
}, },
/* Interrupt assignment for 1 MSI combination */ /* Interrupt assignment for 1 MSI combination */
{ {