qcacmn: qcacmn: Add Monitor 1.0 support for WCN6450

Currently in monitor mode, links are released to WBM through the
SW2WBM_RELEASE ring and WBM will feed the links back to RXDMA
through the WBM2RXDMA_LINK_RING.

WCN6450 uses SOFTUMAC architecture where WBM is not present.
Hence the WBM2RXDMA_LINK_RING is repurposed to SW2RXDMA_LINK_RING
where host will directly release the links to RXDMA using this ring.

Change-Id: I110f607e38c4c2ab10eb1bd7b1f5a7bce2f03692
CRs-Fixed: 3493368
此提交包含在:
Venkateswara Naralasetty
2023-06-09 10:59:13 +05:30
提交者 Rahul Choudhary
父節點 748fe0b6d7
當前提交 39ed82e609
共有 25 個檔案被更改,包括 453 行新增169 行删除

查看文件

@@ -1826,6 +1826,49 @@ dp_monitor_get_link_desc_pages(struct dp_soc *soc, uint32_t mac_id)
return &soc->monitor_soc->mon_link_desc_pages[mac_id];
}
#ifndef WLAN_SOFTUMAC_SUPPORT
/*
* dp_monitor_get_link_desc_ring() - Get link desc ring
* @soc: point to soc
* @mac_id: mac id
*
* Return: return point to link desc ring
*/
static inline hal_ring_handle_t
dp_monitor_get_link_desc_ring(struct dp_soc *soc, uint32_t mac_id)
{
return soc->rxdma_mon_desc_ring[mac_id].hal_srng;
}
static inline uint32_t
dp_monitor_get_num_link_desc_ring_entries(struct dp_soc *soc, uint32_t mac_id)
{
struct dp_srng *ring;
ring = &soc->rxdma_mon_desc_ring[mac_id];
return ring->alloc_size / hal_srng_get_entrysize(soc->hal_soc,
RXDMA_MONITOR_DESC);
}
#else
static inline hal_ring_handle_t
dp_monitor_get_link_desc_ring(struct dp_soc *soc, uint32_t mac_id)
{
return soc->sw2rxdma_link_ring[mac_id].hal_srng;
}
static inline uint32_t
dp_monitor_get_num_link_desc_ring_entries(struct dp_soc *soc, uint32_t mac_id)
{
struct dp_srng *ring;
ring = &soc->sw2rxdma_link_ring[mac_id];
return ring->alloc_size / hal_srng_get_entrysize(soc->hal_soc,
SW2RXDMA_LINK_RELEASE);
}
#endif
/**
* dp_monitor_get_total_link_descs() - Get total link descs
* @soc: point to soc