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:

işlemeyi yapan:
Madan Koyyalamudi

ebeveyn
fcc7724ea7
işleme
b673b97a2d
@@ -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;
|
||||||
}
|
}
|
||||||
|
@@ -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
|
||||||
|
@@ -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
|
||||||
|
@@ -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 */
|
||||||
{
|
{
|
||||||
|
Yeni konuda referans
Bir kullanıcı engelle