qcacmn: Skip MSI cfg for monitor sts ring in MISSION mode

In MISSION mode, MSI address and data are still
configured for monitor status rings even though MCC
uses only polling mode for this ring.

Fix is to skip MSI configuration for monitor sts
ring in MISSION mode for MCC.

Change-Id: If295a5afc6731bbec1ad7182590e0015f3a911ba
CRs-Fixed: 2992167
Šī revīzija ir iekļauta:
Yeshwanth Sriram Guntuka
2021-07-13 16:48:59 +05:30
revīziju iesūtīja Madan Koyyalamudi
vecāks 73f871654f
revīzija 04f9725d81

Parādīt failu

@@ -2117,6 +2117,27 @@ static void dp_srng_free(struct dp_soc *soc, struct dp_srng *srng)
srng->hal_srng = NULL;
}
#ifdef DISABLE_MON_RING_MSI_CFG
/*
* dp_skip_msi_cfg() - Check if msi cfg has to be skipped for ring_type
* @ring_type: sring type
*
* Return: True if msi cfg should be skipped for srng type else false
*/
static inline bool dp_skip_msi_cfg(int ring_type)
{
if (ring_type == RXDMA_MONITOR_STATUS)
return true;
return false;
}
#else
static inline bool dp_skip_msi_cfg(int ring_type)
{
return false;
}
#endif
/*
* dp_srng_init() - Initialize SRNG
* @soc : Data path soc handle
@@ -2154,11 +2175,10 @@ static QDF_STATUS dp_srng_init(struct dp_soc *soc, struct dp_srng *srng,
(void *)ring_params.ring_base_paddr,
ring_params.num_entries);
if (soc->intr_mode == DP_INTR_MSI) {
if (soc->intr_mode == DP_INTR_MSI && !dp_skip_msi_cfg(ring_type)) {
dp_srng_msi_setup(soc, &ring_params, ring_type, ring_num);
dp_verbose_debug("Using MSI for ring_type: %d, ring_num %d",
ring_type, ring_num);
} else {
ring_params.msi_data = 0;
ring_params.msi_addr = 0;