qcacmn: Fix hal_get_srng_ring_id() for Beryllium LMAC rings

For Beryllium LMAC rings, hal_get_srng_ring_id() provides the ring IDs
separately per each LMAC only if that LMAC ring is a destination ring
(This is done to use a common source ring for the DMAC rings).
But the ring IDs for LMAC source rings like DIR_BUF_RX_SRC_DMA_RING are not
being provided separately per LMAC. As a result, these ring IDs in
split-PHY mode are colliding for the 2 LMACs.
Fix this by doing the following.
 - Mark the DMAC common rings within the LMAC rings.
 - Provide ring ID separately per each LMAC if the ring is an LMAC ring
   but not a DMAC common ring.

Change-Id: Ifdae085b5784a03763abfc4edb42d94593e3ea21
CRs-Fixed: 3282702
This commit is contained in:
Shiva Krishna Pittala
2022-09-03 22:33:20 +05:30
committed by Madan Koyyalamudi
parent ffec5f3f9e
commit 527b0343a3
5 changed files with 8 additions and 6 deletions

View File

@@ -728,6 +728,7 @@ struct hal_hw_srng_config {
enum hal_srng_dir ring_dir;
uint32_t max_size;
bool nf_irq_support;
bool dmac_cmn_ring;
};
#define MAX_SHADOW_REGISTERS 40