diff --git a/wlan_cfg/cfg_dp.h b/wlan_cfg/cfg_dp.h index 842c0854b1..7332d5418e 100644 --- a/wlan_cfg/cfg_dp.h +++ b/wlan_cfg/cfg_dp.h @@ -409,6 +409,10 @@ #define WLAN_CFG_RXDMA_MONITOR_DESC_RING_SIZE_MIN 4096 #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_MIN 1024 #define WLAN_CFG_RXDMA_ERR_DST_RING_SIZE_MAX 8192 @@ -1304,6 +1308,13 @@ WLAN_CFG_RXDMA_MONITOR_DESC_RING_SIZE, \ 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 \ CFG_INI_UINT("dp_rxdma_err_dst_ring", \ WLAN_CFG_RXDMA_ERR_DST_RING_SIZE_MIN, \ @@ -2098,5 +2109,6 @@ CFG(CFG_DP_POINTER_TIMER_THRESHOLD_RX) \ CFG(CFG_DP_POINTER_NUM_THRESHOLD_RX) \ 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_ */ diff --git a/wlan_cfg/wlan_cfg.c b/wlan_cfg/wlan_cfg.c index 4ef95205cf..9ecaca5dd1 100644 --- a/wlan_cfg/wlan_cfg.c +++ b/wlan_cfg/wlan_cfg.c @@ -4422,6 +4422,8 @@ wlan_cfg_pdev_attach(struct cdp_ctrl_objmgr_psoc *psoc) wlan_cfg_ctx->rxdma_monitor_desc_ring = cfg_get(psoc, CFG_DP_RXDMA_MONITOR_DESC_RING); 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; } @@ -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); +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 wlan_cfg_get_dma_mon_desc_ring_size(struct wlan_cfg_dp_pdev_ctxt *cfg) { diff --git a/wlan_cfg/wlan_cfg.h b/wlan_cfg/wlan_cfg.h index 65d9b66359..22723d547d 100644 --- a/wlan_cfg/wlan_cfg.h +++ b/wlan_cfg/wlan_cfg.h @@ -564,6 +564,7 @@ struct wlan_cfg_dp_soc_ctxt { * @num_mac_rings: Number of mac rings * @nss_enabled: 1 - NSS enabled, 0 - NSS disabled * @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 { int rx_dma_buf_ring_size; @@ -575,6 +576,7 @@ struct wlan_cfg_dp_pdev_ctxt { int num_mac_rings; int nss_enabled; 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); +/** + * 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 * @cfg: Configuration Handle