qcacmn: Add support for sw2rxdma_link_ring size cfg ini

Add support for sw2rxdma_link_ring size cfg ini.

Also add wrapper function to get the sw2rxdma_link_ring size.

Change-Id: Ic5b17f029fe6c735785701801b75284dd489ac1e
CRs-Fixed: 3525040
This commit is contained in:
Venkateswara Naralasetty
2023-06-09 10:49:59 +05:30
committed by Rahul Choudhary
parent 2ee77a06a5
commit 748fe0b6d7
3 changed files with 33 additions and 1 deletions

View File

@@ -409,6 +409,10 @@
#define WLAN_CFG_RXDMA_MONITOR_DESC_RING_SIZE_MIN 4096 #define WLAN_CFG_RXDMA_MONITOR_DESC_RING_SIZE_MIN 4096
#define WLAN_CFG_RXDMA_MONITOR_DESC_RING_SIZE_MAX 16384 #define WLAN_CFG_RXDMA_MONITOR_DESC_RING_SIZE_MAX 16384
#define WLAN_CFG_SW2RXDMA_LINK_RING_SIZE 1024
#define WLAN_CFG_SW2RXDMA_LINK_RING_SIZE_MIN 256
#define WLAN_CFG_SW2RXDMA_LINK_RING_SIZE_MAX 4096
#define WLAN_CFG_RXDMA_ERR_DST_RING_SIZE 1024 #define WLAN_CFG_RXDMA_ERR_DST_RING_SIZE 1024
#define WLAN_CFG_RXDMA_ERR_DST_RING_SIZE_MIN 1024 #define WLAN_CFG_RXDMA_ERR_DST_RING_SIZE_MIN 1024
#define WLAN_CFG_RXDMA_ERR_DST_RING_SIZE_MAX 8192 #define WLAN_CFG_RXDMA_ERR_DST_RING_SIZE_MAX 8192
@@ -1304,6 +1308,13 @@
WLAN_CFG_RXDMA_MONITOR_DESC_RING_SIZE, \ WLAN_CFG_RXDMA_MONITOR_DESC_RING_SIZE, \
CFG_VALUE_OR_DEFAULT, "DP RXDMA monitor destination ring") CFG_VALUE_OR_DEFAULT, "DP RXDMA monitor destination ring")
#define CFG_DP_SW2RXDMA_LINK_RING \
CFG_INI_UINT("dp_sw2rxdma_link_ring", \
WLAN_CFG_SW2RXDMA_LINK_RING_SIZE_MIN, \
WLAN_CFG_SW2RXDMA_LINK_RING_SIZE_MAX, \
WLAN_CFG_SW2RXDMA_LINK_RING_SIZE, \
CFG_VALUE_OR_DEFAULT, "DP SW2RXDMA link ring")
#define CFG_DP_RXDMA_ERR_DST_RING \ #define CFG_DP_RXDMA_ERR_DST_RING \
CFG_INI_UINT("dp_rxdma_err_dst_ring", \ CFG_INI_UINT("dp_rxdma_err_dst_ring", \
WLAN_CFG_RXDMA_ERR_DST_RING_SIZE_MIN, \ WLAN_CFG_RXDMA_ERR_DST_RING_SIZE_MIN, \
@@ -2098,5 +2109,6 @@
CFG(CFG_DP_POINTER_TIMER_THRESHOLD_RX) \ CFG(CFG_DP_POINTER_TIMER_THRESHOLD_RX) \
CFG(CFG_DP_POINTER_NUM_THRESHOLD_RX) \ CFG(CFG_DP_POINTER_NUM_THRESHOLD_RX) \
CFG_DP_LOCAL_PKT_CAPTURE_CONFIG \ CFG_DP_LOCAL_PKT_CAPTURE_CONFIG \
CFG(CFG_SPECIAL_FRAME_MSK) CFG(CFG_SPECIAL_FRAME_MSK) \
CFG(CFG_DP_SW2RXDMA_LINK_RING)
#endif /* _CFG_DP_H_ */ #endif /* _CFG_DP_H_ */

View File

@@ -4422,6 +4422,8 @@ wlan_cfg_pdev_attach(struct cdp_ctrl_objmgr_psoc *psoc)
wlan_cfg_ctx->rxdma_monitor_desc_ring = cfg_get(psoc, wlan_cfg_ctx->rxdma_monitor_desc_ring = cfg_get(psoc,
CFG_DP_RXDMA_MONITOR_DESC_RING); CFG_DP_RXDMA_MONITOR_DESC_RING);
wlan_cfg_ctx->num_mac_rings = NUM_RXDMA_RINGS_PER_PDEV; wlan_cfg_ctx->num_mac_rings = NUM_RXDMA_RINGS_PER_PDEV;
wlan_cfg_ctx->sw2rxdma_link_ring_size = cfg_get(psoc,
CFG_DP_SW2RXDMA_LINK_RING);
return wlan_cfg_ctx; return wlan_cfg_ctx;
} }
@@ -4948,6 +4950,14 @@ int wlan_cfg_get_dma_mon_stat_ring_size(struct wlan_cfg_dp_pdev_ctxt *cfg)
qdf_export_symbol(wlan_cfg_get_dma_mon_stat_ring_size); qdf_export_symbol(wlan_cfg_get_dma_mon_stat_ring_size);
int
wlan_cfg_get_dma_sw2rxdma_link_ring_size(struct wlan_cfg_dp_pdev_ctxt *cfg)
{
return cfg->sw2rxdma_link_ring_size;
}
qdf_export_symbol(wlan_cfg_get_dma_sw2rxdma_link_ring_size);
int int
wlan_cfg_get_dma_mon_desc_ring_size(struct wlan_cfg_dp_pdev_ctxt *cfg) wlan_cfg_get_dma_mon_desc_ring_size(struct wlan_cfg_dp_pdev_ctxt *cfg)
{ {

View File

@@ -564,6 +564,7 @@ struct wlan_cfg_dp_soc_ctxt {
* @num_mac_rings: Number of mac rings * @num_mac_rings: Number of mac rings
* @nss_enabled: 1 - NSS enabled, 0 - NSS disabled * @nss_enabled: 1 - NSS enabled, 0 - NSS disabled
* @dma_tx_mon_buf_ring_size: Tx monitor BUF Ring size * @dma_tx_mon_buf_ring_size: Tx monitor BUF Ring size
* @sw2rxdma_link_ring_size: SW2RXDMA link ring size
*/ */
struct wlan_cfg_dp_pdev_ctxt { struct wlan_cfg_dp_pdev_ctxt {
int rx_dma_buf_ring_size; int rx_dma_buf_ring_size;
@@ -575,6 +576,7 @@ struct wlan_cfg_dp_pdev_ctxt {
int num_mac_rings; int num_mac_rings;
int nss_enabled; int nss_enabled;
int dma_tx_mon_buf_ring_size; int dma_tx_mon_buf_ring_size;
int sw2rxdma_link_ring_size;
}; };
/** /**
@@ -2406,6 +2408,14 @@ wlan_cfg_get_dp_soc_tx_mon_buf_ring_size(struct wlan_cfg_dp_soc_ctxt *cfg);
*/ */
int wlan_cfg_get_dma_rx_mon_dest_ring_size(struct wlan_cfg_dp_pdev_ctxt *cfg); int wlan_cfg_get_dma_rx_mon_dest_ring_size(struct wlan_cfg_dp_pdev_ctxt *cfg);
/**
* wlan_cfg_get_dma_sw2rxdma_link_ring_size() - SW2RXDMA link ring size
* @cfg: Configuration Handle
*
* Return: Size of SW2RXDMA link ring size
*/
int wlan_cfg_get_dma_sw2rxdma_link_ring_size(struct wlan_cfg_dp_pdev_ctxt *cfg);
/** /**
* wlan_cfg_get_dma_tx_mon_dest_ring_size() - Tx MON dest ring size * wlan_cfg_get_dma_tx_mon_dest_ring_size() - Tx MON dest ring size
* @cfg: Configuration Handle * @cfg: Configuration Handle