qcacmn: Add an ini control to disable Dynamic GRO feature
Dynamic GRO feature is enabled by default and aimed for specific customers. Add an ini control to allow other customers to config this feature enable/disable. Change-Id: I7f505599327ac131b3cdac9b4d9e038861b1aeb6 CRs-Fixed: 3074689
This commit is contained in:

committad av
Madan Koyyalamudi

förälder
465d1dfb24
incheckning
ac2110769b
@@ -704,9 +704,34 @@
|
||||
CFG_INI_BOOL("dp_sg_support", false, \
|
||||
"DP SG Enable")
|
||||
|
||||
#define WLAN_CFG_GRO_ENABLE_MIN 0
|
||||
#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)
|
||||
/*
|
||||
* <ini>
|
||||
* CFG_DP_GRO - Enable the GRO feature standalonely
|
||||
* @Min: 0
|
||||
* @Max: 3
|
||||
* @Default: 0
|
||||
*
|
||||
* 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
|
||||
*
|
||||
* Usage: External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_DP_GRO \
|
||||
CFG_INI_BOOL("GROEnable", false, \
|
||||
"DP GRO Enable")
|
||||
CFG_INI_UINT("GROEnable", \
|
||||
WLAN_CFG_GRO_ENABLE_MIN, \
|
||||
WLAN_CFG_GRO_ENABLE_MAX, \
|
||||
WLAN_CFG_GRO_ENABLE_DEFAULT, \
|
||||
CFG_VALUE_OR_DEFAULT, "DP GRO Enable")
|
||||
|
||||
#define CFG_DP_OL_TX_CSUM \
|
||||
CFG_INI_BOOL("dp_offload_tx_csum_support", false, \
|
||||
|
@@ -1705,6 +1705,7 @@ wlan_cfg_soc_attach(struct cdp_ctrl_objmgr_psoc *psoc)
|
||||
{
|
||||
struct wlan_cfg_dp_soc_ctxt *wlan_cfg_ctx =
|
||||
qdf_mem_malloc(sizeof(struct wlan_cfg_dp_soc_ctxt));
|
||||
uint32_t gro_bit_set;
|
||||
|
||||
if (!wlan_cfg_ctx)
|
||||
return NULL;
|
||||
@@ -1767,7 +1768,12 @@ wlan_cfg_soc_attach(struct cdp_ctrl_objmgr_psoc *psoc)
|
||||
wlan_cfg_ctx->tso_enabled = cfg_get(psoc, CFG_DP_TSO);
|
||||
wlan_cfg_ctx->lro_enabled = cfg_get(psoc, CFG_DP_LRO);
|
||||
wlan_cfg_ctx->sg_enabled = cfg_get(psoc, CFG_DP_SG);
|
||||
wlan_cfg_ctx->gro_enabled = cfg_get(psoc, CFG_DP_GRO);
|
||||
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;
|
||||
}
|
||||
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);
|
||||
|
@@ -161,6 +161,7 @@ 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
|
||||
* @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
|
||||
@@ -286,6 +287,7 @@ struct wlan_cfg_dp_soc_ctxt {
|
||||
bool lro_enabled;
|
||||
bool sg_enabled;
|
||||
bool gro_enabled;
|
||||
bool force_gro_enabled;
|
||||
bool ipa_enabled;
|
||||
bool ol_tx_csum_enabled;
|
||||
bool ol_rx_csum_enabled;
|
||||
|
Referens i nytt ärende
Block a user