qcacmn: Restrict the tx descriptors for low mem config

For low mem config, use user configured max tx descriptors to limit the
allocation of software tx descriptors.

Use dp_txrx_pflow_update_pdev_params function to print stats and to update
pdev param.

Change-Id: I8fa6f0bb8841de68e8dc205ffcb0fde264f1b0e0
CRs-Fixed: 2414452
This commit is contained in:
Shashikala Prabhu
2019-03-13 17:41:17 +05:30
committato da nshrivas
parent 3e9d647162
commit 550e69c726
8 ha cambiato i file con 153 aggiunte e 61 eliminazioni

Vedi File

@@ -143,7 +143,7 @@
#define WLAN_CFG_TX_COMP_RING_SIZE_MAX 0x80000
#define WLAN_CFG_NUM_TX_DESC_MIN 1024
#define WLAN_CFG_NUM_TX_DESC_MAX 0x320000
#define WLAN_CFG_NUM_TX_DESC_MAX 32768
#define WLAN_CFG_NUM_TX_EXT_DESC_MIN 1024
#define WLAN_CFG_NUM_TX_EXT_DESC_MAX 0x80000

Vedi File

@@ -267,6 +267,7 @@ struct wlan_cfg_dp_soc_ctxt *wlan_cfg_soc_attach(void *psoc)
wlan_cfg_ctx->num_tx_ext_desc_pool = cfg_get(psoc,
CFG_DP_TX_EXT_DESC_POOLS);
wlan_cfg_ctx->num_tx_desc = cfg_get(psoc, CFG_DP_TX_DESC);
wlan_cfg_ctx->min_tx_desc = WLAN_CFG_NUM_TX_DESC_MIN;
wlan_cfg_ctx->num_tx_ext_desc = cfg_get(psoc, CFG_DP_TX_EXT_DESC);
wlan_cfg_ctx->htt_packet_type = cfg_get(psoc, CFG_DP_HTT_PACKET_TYPE);
wlan_cfg_ctx->max_peer_id = cfg_get(psoc, CFG_DP_MAX_PEER_ID);
@@ -684,6 +685,11 @@ void wlan_cfg_set_num_tx_desc(struct wlan_cfg_dp_soc_ctxt *cfg, int num_desc)
cfg->num_tx_desc = num_desc;
}
int wlan_cfg_get_min_tx_desc(struct wlan_cfg_dp_soc_ctxt *cfg)
{
return cfg->min_tx_desc;
}
int wlan_cfg_get_num_tx_ext_desc(struct wlan_cfg_dp_soc_ctxt *cfg)
{
return cfg->num_tx_ext_desc;

Vedi File

@@ -96,6 +96,7 @@ struct wlan_cfg_dp_pdev_ctxt;
* @num_tx_desc_pool: Number of Tx Descriptor pools
* @num_tx_ext_desc_pool: Number of Tx MSDU extension Descriptor pools
* @num_tx_desc: Number of Tx Descriptors per pool
* @min_tx_desc: Minimum number of Tx Descriptors per pool
* @num_tx_ext_desc: Number of Tx MSDU extension Descriptors per pool
* @max_peer_id: Maximum value of peer id that FW can assign for a client
* @htt_packet_type: Default 802.11 encapsulation type for any VAP created
@@ -149,6 +150,7 @@ struct wlan_cfg_dp_soc_ctxt {
int num_tx_desc_pool;
int num_tx_ext_desc_pool;
int num_tx_desc;
int min_tx_desc;
int num_tx_ext_desc;
int max_peer_id;
int htt_packet_type;
@@ -647,6 +649,14 @@ void wlan_cfg_set_num_tx_ext_desc_pool(struct wlan_cfg_dp_soc_ctxt *cfg, int num
*/
int wlan_cfg_get_num_tx_desc(struct wlan_cfg_dp_soc_ctxt *wlan_cfg_ctx);
/*
* wlan_cfg_get_min_tx_desc() - Minimum number of Tx Descriptors per pool
* @wlan_cfg_ctx - Configuration Handle
*
* Return: num_tx_desc
*/
int wlan_cfg_get_min_tx_desc(struct wlan_cfg_dp_soc_ctxt *wlan_cfg_ctx);
/*
* wlan_cfg_set_num_tx_desc() - Set the number of Tx Descriptors per pool
*