qcacmn: Add ini to set priority for TC ingress filter

Add ini support to configure TC ingress filter priority
value which would be used for TC based dynamic GRO.

Change-Id: I1742f4539353939e3a40ff4096b3f833f2029b12
CRs-Fixed: 3206817
这个提交包含在:
Yeshwanth Sriram Guntuka
2022-05-25 16:23:43 +05:30
提交者 Madan Koyyalamudi
父节点 059313a9cb
当前提交 f2ee56b2fc
修改 6 个文件,包含 37 行新增14 行删除

查看文件

@@ -876,7 +876,8 @@
#define WLAN_CFG_GRO_ENABLE_MAX 3
#define WLAN_CFG_GRO_ENABLE_DEFAULT 0
#define DP_GRO_ENABLE_BIT_SET BIT(0)
#define DP_FORCE_USE_GRO_BIT_SET BIT(1)
#define DP_TC_BASED_DYNAMIC_GRO BIT(1)
/*
* <ini>
* CFG_DP_GRO - Enable the GRO feature standalonely
@@ -886,9 +887,9 @@
*
* This ini entry is used to enable/disable GRO feature standalonely.
* Value 0: Disable GRO feature
* Value 1: Enable Dynamic GRO feature, TC rule can control GRO
* behavior of STA mode
* Value 3: Enable GRO feature forcibly
* Value 1: Enable GRO feature always
* Value 3: Enable GRO dynamic feature where TC rule can control GRO
* behavior
*
* Usage: External
*
@@ -901,6 +902,17 @@
WLAN_CFG_GRO_ENABLE_DEFAULT, \
CFG_VALUE_OR_DEFAULT, "DP GRO Enable")
#define WLAN_CFG_TC_INGRESS_PRIO_MIN 0
#define WLAN_CFG_TC_INGRESS_PRIO_MAX 0xFFFF
#define WLAN_CFG_TC_INGRESS_PRIO_DEFAULT 0
#define CFG_DP_TC_INGRESS_PRIO \
CFG_INI_UINT("tc_ingress_prio", \
WLAN_CFG_TC_INGRESS_PRIO_MIN, \
WLAN_CFG_TC_INGRESS_PRIO_MAX, \
WLAN_CFG_TC_INGRESS_PRIO_DEFAULT, \
CFG_VALUE_OR_DEFAULT, "DP tc ingress prio")
#define CFG_DP_OL_TX_CSUM \
CFG_INI_BOOL("dp_offload_tx_csum_support", false, \
"DP tx csum Enable")
@@ -1719,6 +1731,7 @@
CFG(CFG_DP_LRO) \
CFG(CFG_DP_SG) \
CFG(CFG_DP_GRO) \
CFG(CFG_DP_TC_INGRESS_PRIO) \
CFG(CFG_DP_OL_TX_CSUM) \
CFG(CFG_DP_OL_RX_CSUM) \
CFG(CFG_DP_RAWMODE) \

查看文件

@@ -2023,9 +2023,10 @@ wlan_cfg_soc_attach(struct cdp_ctrl_objmgr_psoc *psoc)
gro_bit_set = cfg_get(psoc, CFG_DP_GRO);
if (gro_bit_set & DP_GRO_ENABLE_BIT_SET) {
wlan_cfg_ctx->gro_enabled = true;
if (gro_bit_set & DP_FORCE_USE_GRO_BIT_SET)
wlan_cfg_ctx->force_gro_enabled = true;
if (gro_bit_set & DP_TC_BASED_DYNAMIC_GRO)
wlan_cfg_ctx->tc_based_dynamic_gro = true;
}
wlan_cfg_ctx->tc_ingress_prio = cfg_get(psoc, CFG_DP_TC_INGRESS_PRIO);
wlan_cfg_ctx->ol_tx_csum_enabled = cfg_get(psoc, CFG_DP_OL_TX_CSUM);
wlan_cfg_ctx->ol_rx_csum_enabled = cfg_get(psoc, CFG_DP_OL_RX_CSUM);
wlan_cfg_ctx->rawmode_enabled = cfg_get(psoc, CFG_DP_RAWMODE);

查看文件

@@ -172,7 +172,8 @@ struct wlan_srng_cfg {
* @lro_enabled: enable/disable LRO feature
* @sg_enabled: enable disable scatter gather feature
* @gro_enabled: enable disable GRO feature
* @force_gro_enabled: force enable GRO feature
* @tc_based_dynamic_gro: enable/disable tc based dynamic gro
* @tc_ingress_prio: ingress prio to be checked for dynamic gro
* @ipa_enabled: Flag indicating if IPA is enabled
* @ol_tx_csum_enabled: Flag indicating if TX csum is enabled
* @ol_rx_csum_enabled: Flag indicating if Rx csum is enabled
@@ -308,7 +309,8 @@ struct wlan_cfg_dp_soc_ctxt {
bool lro_enabled;
bool sg_enabled;
bool gro_enabled;
bool force_gro_enabled;
bool tc_based_dynamic_gro;
uint32_t tc_ingress_prio;
bool ipa_enabled;
bool ol_tx_csum_enabled;
bool ol_rx_csum_enabled;