mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-14 08:36:12 -04:00
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
This commit is contained in:
parent
9bb66a7d99
commit
3c030c2086
6 changed files with 37 additions and 14 deletions
|
|
@ -2333,7 +2333,8 @@ struct cdp_monitor_filter {
|
|||
* @cfg_dp_tso_enable: get TSO enable config
|
||||
* @cfg_dp_lro_enable: get LRO enable config
|
||||
* @cfg_dp_gro_enable: get GRP enable config
|
||||
* @cfg_dp_force_gro_enable: get Force GRP enable config
|
||||
* @cfg_dp_tc_based_dyn_gro_enable: get TC based dynamic gro enable config
|
||||
* @cfg_dp_tc_ingress_prio: priority value to be checked for tc filters
|
||||
* @cfg_dp_tx_flow_start_queue_offset: get DP TX flow start queue offset
|
||||
* @cfg_dp_tx_flow_stop_queue_threshold: get DP TX flow stop queue threshold
|
||||
* @cfg_dp_ipa_uc_tx_buf_size: get IPA TX buf size config
|
||||
|
|
@ -2356,7 +2357,8 @@ enum cdp_dp_cfg {
|
|||
cfg_dp_tso_enable,
|
||||
cfg_dp_lro_enable,
|
||||
cfg_dp_gro_enable,
|
||||
cfg_dp_force_gro_enable,
|
||||
cfg_dp_tc_based_dyn_gro_enable,
|
||||
cfg_dp_tc_ingress_prio,
|
||||
cfg_dp_tx_flow_start_queue_offset,
|
||||
cfg_dp_tx_flow_stop_queue_threshold,
|
||||
cfg_dp_ipa_uc_tx_buf_size,
|
||||
|
|
|
|||
|
|
@ -11113,8 +11113,11 @@ static uint32_t dp_get_cfg(struct cdp_soc_t *soc, enum cdp_dp_cfg cfg)
|
|||
case cfg_dp_gro_enable:
|
||||
value = dpsoc->wlan_cfg_ctx->gro_enabled;
|
||||
break;
|
||||
case cfg_dp_force_gro_enable:
|
||||
value = dpsoc->wlan_cfg_ctx->force_gro_enabled;
|
||||
case cfg_dp_tc_based_dyn_gro_enable:
|
||||
value = dpsoc->wlan_cfg_ctx->tc_based_dynamic_gro;
|
||||
break;
|
||||
case cfg_dp_tc_ingress_prio:
|
||||
value = dpsoc->wlan_cfg_ctx->tc_ingress_prio;
|
||||
break;
|
||||
case cfg_dp_tx_flow_start_queue_offset:
|
||||
value = dpsoc->wlan_cfg_ctx->tx_flow_start_queue_offset;
|
||||
|
|
|
|||
|
|
@ -4917,8 +4917,10 @@ void dp_print_soc_cfg_params(struct dp_soc *soc)
|
|||
soc_cfg_ctx->sg_enabled);
|
||||
DP_PRINT_STATS("Gro enabled: %u ",
|
||||
soc_cfg_ctx->gro_enabled);
|
||||
DP_PRINT_STATS("Force Gro enabled: %u ",
|
||||
soc_cfg_ctx->force_gro_enabled);
|
||||
DP_PRINT_STATS("TC based dynamic GRO: %u ",
|
||||
soc_cfg_ctx->tc_based_dynamic_gro);
|
||||
DP_PRINT_STATS("TC ingress prio: %u ",
|
||||
soc_cfg_ctx->tc_ingress_prio);
|
||||
DP_PRINT_STATS("rawmode enabled: %u ",
|
||||
soc_cfg_ctx->rawmode_enabled);
|
||||
DP_PRINT_STATS("peer flow ctrl enabled: %u ",
|
||||
|
|
|
|||
|
|
@ -619,7 +619,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
|
||||
|
|
@ -629,9 +630,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
|
||||
*
|
||||
|
|
@ -644,6 +645,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")
|
||||
|
|
@ -1165,6 +1177,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) \
|
||||
|
|
|
|||
|
|
@ -565,9 +565,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);
|
||||
|
|
|
|||
|
|
@ -135,7 +135,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
|
||||
|
|
@ -246,7 +247,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;
|
||||
|
|
|
|||
Loading…
Reference in a new issue