qcacmn: Interrupt Changes for QCA5332

Added interrupt registering code for tx monitor and umac_reset

Change-Id: Id76329a908859a512cef23d68a4afbff794af09a
CRs-Fixed: 3340347
This commit is contained in:
Hariharan Ramanathan
2022-11-04 16:32:53 +05:30
committed by Madan Koyyalamudi
parent fcc7724ea7
commit b673b97a2d
4 changed files with 34 additions and 4 deletions

View File

@@ -3277,6 +3277,12 @@ static void dp_soc_interrupt_map_calculate_integrated(struct dp_soc *soc,
soc->wlan_cfg_ctx, intr_ctx_num);
int host2rxdma_mon_ring_mask = wlan_cfg_get_host2rxdma_mon_ring_mask(
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;
@@ -3325,6 +3331,17 @@ static void dp_soc_interrupt_map_calculate_integrated(struct dp_soc *soc,
if (reo_status_ring_mask & (1 << j))
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;
}

View File

@@ -131,6 +131,11 @@ enum hif_ic_irq {
wbm2host_tx_completions_ring2,
wbm2host_tx_completions_ring1,
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

View File

@@ -44,7 +44,7 @@
#endif
#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];
/* integrated chip irq names */
@@ -102,6 +102,11 @@ const char *ic_irqname[HIF_IC_MAX_IRQ] = {
"wbm2host-tx-completions-ring2",
"wbm2host-tx-completions-ring1",
"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

View File

@@ -863,11 +863,14 @@ static struct dp_int_mask_assignment dp_mask_assignment[NUM_INTERRUPT_COMBINATIO
/* tx_ring_near_full_irq mask */
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* 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 */
{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 */
{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 */
{