diff --git a/dp/inc/cdp_txrx_cmn_struct.h b/dp/inc/cdp_txrx_cmn_struct.h index 28d4e2d2e8..1b05282487 100644 --- a/dp/inc/cdp_txrx_cmn_struct.h +++ b/dp/inc/cdp_txrx_cmn_struct.h @@ -2357,6 +2357,7 @@ enum cdp_dp_cfg { cfg_dp_tso_enable, cfg_dp_lro_enable, cfg_dp_gro_enable, + cfg_dp_sg_enable, cfg_dp_tx_flow_start_queue_offset, cfg_dp_tx_flow_stop_queue_threshold, cfg_dp_ipa_uc_tx_buf_size, diff --git a/dp/inc/cdp_txrx_mob_def.h b/dp/inc/cdp_txrx_mob_def.h index b68867f289..509fc4ce55 100644 --- a/dp/inc/cdp_txrx_mob_def.h +++ b/dp/inc/cdp_txrx_mob_def.h @@ -315,6 +315,7 @@ struct txrx_pdev_cfg_param_t { bool gro_enable; bool tso_enable; bool lro_enable; + bool sg_enable; bool enable_data_stall_detection; bool enable_flow_steering; bool disable_intra_bss_fwd; diff --git a/dp/wifi3.0/dp_main.c b/dp/wifi3.0/dp_main.c index 0f95cb98c2..32f60fc744 100644 --- a/dp/wifi3.0/dp_main.c +++ b/dp/wifi3.0/dp_main.c @@ -10728,6 +10728,9 @@ 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_sg_enable: + value = dpsoc->wlan_cfg_ctx->sg_enabled; + break; case cfg_dp_tx_flow_start_queue_offset: value = dpsoc->wlan_cfg_ctx->tx_flow_start_queue_offset; break; diff --git a/wlan_cfg/cfg_dp.h b/wlan_cfg/cfg_dp.h index fb728835ae..71f8df69ea 100644 --- a/wlan_cfg/cfg_dp.h +++ b/wlan_cfg/cfg_dp.h @@ -604,6 +604,22 @@ CFG_INI_BOOL("LROEnable", WLAN_LRO_ENABLE, \ "DP LRO Enable") +/* + * + * CFG_DP_SG - Enable the SG feature standalonely + * @Min: 0 + * @Max: 1 + * @Default: 1 + * + * This ini entry is used to enable/disable SG feature standalonely. + * Also does Rome support SG on TX, lithium does not. + * For example the lithium does not support SG on UDP frames. + * Which is able to handle SG only for TSO frames(in case TSO is enabled). + * + * Usage: External + * + * + */ #define CFG_DP_SG \ CFG_INI_BOOL("dp_sg_support", false, \ "DP SG Enable")