qcacmn: INI param to configure Rx S/W desc count

Rx s/w descriptor count should be configurable from
dp_rx_sw_desc_num INI

Change-Id: Id4bbe261b985219dad8d129679ab85e2dd1ba084
This commit is contained in:
Mainak Sen
2020-05-01 09:38:20 +05:30
committato da snandini
parent 15d8bb5c6b
commit eeaa5b7471
4 ha cambiato i file con 42 aggiunte e 8 eliminazioni

Vedi File

@@ -311,6 +311,9 @@
#define WLAN_CFG_RX_SW_DESC_WEIGHT_SIZE 1
#define WLAN_CFG_RX_SW_DESC_WEIGHT_SIZE_MIN 1
#define WLAN_CFG_RX_SW_DESC_WEIGHT_SIZE_MAX 1
#define WLAN_CFG_RX_SW_DESC_NUM_SIZE 4096
#define WLAN_CFG_RX_SW_DESC_NUM_SIZE_MIN 4096
#define WLAN_CFG_RX_SW_DESC_NUM_SIZE_MAX 4096
/**
* For low memory AP cases using 1 will reduce the rx descriptors memory req
@@ -319,6 +322,9 @@
#define WLAN_CFG_RX_SW_DESC_WEIGHT_SIZE 1
#define WLAN_CFG_RX_SW_DESC_WEIGHT_SIZE_MIN 1
#define WLAN_CFG_RX_SW_DESC_WEIGHT_SIZE_MAX 3
#define WLAN_CFG_RX_SW_DESC_NUM_SIZE 4096
#define WLAN_CFG_RX_SW_DESC_NUM_SIZE_MIN 1024
#define WLAN_CFG_RX_SW_DESC_NUM_SIZE_MAX 12288
/**
* AP use cases need to allocate more RX Descriptors than the number of
@@ -331,6 +337,9 @@
#define WLAN_CFG_RX_SW_DESC_WEIGHT_SIZE 3
#define WLAN_CFG_RX_SW_DESC_WEIGHT_SIZE_MIN 1
#define WLAN_CFG_RX_SW_DESC_WEIGHT_SIZE_MAX 3
#define WLAN_CFG_RX_SW_DESC_NUM_SIZE 12288
#define WLAN_CFG_RX_SW_DESC_NUM_SIZE_MIN 4096
#define WLAN_CFG_RX_SW_DESC_NUM_SIZE_MAX 12288
#endif //QCA_HOST2FW_RXBUF_RING
#define WLAN_CFG_RX_FLOW_SEARCH_TABLE_SIZE 16384
@@ -804,6 +813,13 @@
WLAN_CFG_RX_SW_DESC_WEIGHT_SIZE, \
CFG_VALUE_OR_DEFAULT, "DP RX SW DESC weight")
#define CFG_DP_RX_SW_DESC_NUM \
CFG_INI_UINT("dp_rx_sw_desc_num", \
WLAN_CFG_RX_SW_DESC_NUM_SIZE_MIN, \
WLAN_CFG_RX_SW_DESC_NUM_SIZE_MAX, \
WLAN_CFG_RX_SW_DESC_NUM_SIZE, \
CFG_VALUE_OR_DEFAULT, "DP RX SW DESC num")
#define CFG_DP_RX_FLOW_SEARCH_TABLE_SIZE \
CFG_INI_UINT("dp_rx_flow_search_table_size", \
WLAN_CFG_RX_FLOW_SEARCH_TABLE_SIZE_MIN, \
@@ -946,6 +962,7 @@
CFG(CFG_DP_AP_STA_SECURITY_SEPERATION) \
CFG(CFG_DP_ENABLE_DATA_STALL_DETECTION) \
CFG(CFG_DP_RX_SW_DESC_WEIGHT) \
CFG(CFG_DP_RX_SW_DESC_NUM) \
CFG(CFG_DP_RX_FLOW_SEARCH_TABLE_SIZE) \
CFG(CFG_DP_RX_FLOW_TAG_ENABLE) \
CFG(CFG_DP_RX_FLOW_SEARCH_TABLE_PER_PDEV) \

Vedi File

@@ -593,6 +593,8 @@ wlan_cfg_soc_attach(struct cdp_ctrl_objmgr_psoc *psoc)
cfg_get(psoc, CFG_DP_AP_STA_SECURITY_SEPERATION);
wlan_cfg_ctx->rx_sw_desc_weight = cfg_get(psoc,
CFG_DP_RX_SW_DESC_WEIGHT);
wlan_cfg_ctx->rx_sw_desc_num = cfg_get(psoc,
CFG_DP_RX_SW_DESC_NUM);
wlan_cfg_ctx->rx_toeplitz_hash_key = (uint8_t *)rx_fst_toeplitz_key;
wlan_cfg_ctx->rx_flow_max_search = WLAN_CFG_RX_FST_MAX_SEARCH;
wlan_cfg_ctx->is_rx_flow_tag_enabled =
@@ -1229,6 +1231,12 @@ wlan_cfg_get_dp_soc_rx_sw_desc_weight(struct wlan_cfg_dp_soc_ctxt *cfg)
return cfg->rx_sw_desc_weight;
}
int
wlan_cfg_get_dp_soc_rx_sw_desc_num(struct wlan_cfg_dp_soc_ctxt *cfg)
{
return cfg->rx_sw_desc_num;
}
uint32_t
wlan_cfg_get_reo_rings_mapping(struct wlan_cfg_dp_soc_ctxt *cfg)
{

Vedi File

@@ -278,6 +278,7 @@ struct wlan_cfg_dp_soc_ctxt {
bool tx_comp_enable_eol_data_check;
#endif /* WLAN_FEATURE_RX_SOFTIRQ_TIME_LIMIT */
int rx_sw_desc_weight;
int rx_sw_desc_num;
bool is_rx_mon_protocol_flow_tag_enabled;
bool is_rx_flow_tag_enabled;
bool is_rx_flow_search_table_per_pdev;
@@ -1183,6 +1184,15 @@ wlan_cfg_get_dp_soc_rxdma_err_dst_ring_size(struct wlan_cfg_dp_soc_ctxt *cfg);
int
wlan_cfg_get_dp_soc_rx_sw_desc_weight(struct wlan_cfg_dp_soc_ctxt *cfg);
/*
* wlan_cfg_get_dp_soc_rx_sw_desc_num - Get rx sw desc num
* @wlan_cfg_soc_ctx
*
* Return: rx_sw_desc_num
*/
int
wlan_cfg_get_dp_soc_rx_sw_desc_num(struct wlan_cfg_dp_soc_ctxt *cfg);
/*
* wlan_cfg_get_dp_caps - Get dp capablities
* @wlan_cfg_soc_ctx