qcacmn: Add support for getting CE srng info for Direct Link

Add support to fetch CE srng information used for
direct link datapath.

Change-Id: If38b892b28eba711d7949fa02926205dc601a50e
CRs-Fixed: 3317501
This commit is contained in:
Yeshwanth Sriram Guntuka
2022-08-25 19:16:50 +05:30
کامیت شده توسط Madan Koyyalamudi
والد e228622034
کامیت 9b059a3bc0
6فایلهای تغییر یافته به همراه267 افزوده شده و 14 حذف شده

مشاهده پرونده

@@ -35,6 +35,14 @@
/* Ring index for WBM2SW2 release ring */
#define HAL_IPA_TX_COMP_RING_IDX 2
#if defined(CONFIG_SHADOW_V2) || defined(CONFIG_SHADOW_V3)
#define ignore_shadow false
#define CHECK_SHADOW_REGISTERS true
#else
#define ignore_shadow true
#define CHECK_SHADOW_REGISTERS false
#endif
/* calculate the register address offset from bar0 of shadow register x */
#if defined(QCA_WIFI_QCA6390) || defined(QCA_WIFI_QCA6490) || \
defined(QCA_WIFI_KIWI)
@@ -2606,9 +2614,17 @@ hal_srng_get_hp_addr(void *hal_soc,
struct hal_soc *hal = (struct hal_soc *)hal_soc;
if (srng->ring_dir == HAL_SRNG_SRC_RING) {
return hal->shadow_wrptr_mem_paddr +
((unsigned long)(srng->u.src_ring.hp_addr) -
(unsigned long)(hal->shadow_wrptr_mem_vaddr));
if (srng->flags & HAL_SRNG_LMAC_RING)
return hal->shadow_wrptr_mem_paddr +
((unsigned long)(srng->u.src_ring.hp_addr) -
(unsigned long)(hal->shadow_wrptr_mem_vaddr));
else if (ignore_shadow)
return (qdf_dma_addr_t)srng->u.src_ring.hp_addr;
else
return ((struct hif_softc *)hal->hif_handle)->mem_pa +
((unsigned long)srng->u.src_ring.hp_addr -
(unsigned long)hal->dev_base_addr);
} else {
return hal->shadow_rdptr_mem_paddr +
((unsigned long)(srng->u.dst_ring.hp_addr) -
@@ -2634,9 +2650,16 @@ hal_srng_get_tp_addr(void *hal_soc, hal_ring_handle_t hal_ring_hdl)
((unsigned long)(srng->u.src_ring.tp_addr) -
(unsigned long)(hal->shadow_rdptr_mem_vaddr));
} else {
return hal->shadow_wrptr_mem_paddr +
((unsigned long)(srng->u.dst_ring.tp_addr) -
(unsigned long)(hal->shadow_wrptr_mem_vaddr));
if (srng->flags & HAL_SRNG_LMAC_RING)
return hal->shadow_wrptr_mem_paddr +
((unsigned long)(srng->u.dst_ring.tp_addr) -
(unsigned long)(hal->shadow_wrptr_mem_vaddr));
else if (ignore_shadow)
return (qdf_dma_addr_t)srng->u.dst_ring.tp_addr;
else
return ((struct hif_softc *)hal->hif_handle)->mem_pa +
((unsigned long)srng->u.dst_ring.tp_addr -
(unsigned long)hal->dev_base_addr);
}
}