mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-12 07:37:31 -04:00
qcacld-3.0: Add INI to control tcp_limit_output_bytes tuning
Current driver posts the high and low Tx TPUT indications to cnss-daemon to tune the tcp_limit_output_byte system parameter. Add option to disable it. Change-Id: Ic65fe0bd762024425cabf2f1f07123211dce5dce CRs-Fixed: 2197112
This commit is contained in:
parent
a63fc0c2e3
commit
e73e3b57db
3 changed files with 36 additions and 1 deletions
|
|
@ -8267,6 +8267,29 @@ enum hdd_link_speed_rpt_type {
|
|||
#define CFG_BUS_BANDWIDTH_COMPUTE_INTERVAL_DEFAULT (100)
|
||||
#define CFG_BUS_BANDWIDTH_COMPUTE_INTERVAL_MIN (0)
|
||||
#define CFG_BUS_BANDWIDTH_COMPUTE_INTERVAL_MAX (10000)
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gEnableTcpLimitOutput - Control to enable TCP limit output byte
|
||||
* @Min: 0
|
||||
* @Max: 1
|
||||
* @Default: 1
|
||||
*
|
||||
* This ini is used to enable dynamic configuration of TCP limit output bytes
|
||||
* tcp_limit_output_bytes param. Enabling this will let driver post message to
|
||||
* cnss-daemon, accordingly cnss-daemon will modify the tcp_limit_output_bytes.
|
||||
*
|
||||
* Supported Feature: Tcp limit output bytes
|
||||
*
|
||||
* Usage: Internal
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_ENABLE_TCP_LIMIT_OUTPUT "gTcpLimitOutputEnable"
|
||||
#define CFG_ENABLE_TCP_LIMIT_OUTPUT_DEFAULT (1)
|
||||
#define CFG_ENABLE_TCP_LIMIT_OUTPUT_MIN (0)
|
||||
#define CFG_ENABLE_TCP_LIMIT_OUTPUT_MAX (1)
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gTcpAdvWinScaleEnable - Control to enable TCP adv window scaling
|
||||
|
|
@ -14883,6 +14906,7 @@ struct hdd_config {
|
|||
uint32_t busBandwidthLowThreshold;
|
||||
uint32_t busBandwidthComputeInterval;
|
||||
uint32_t enable_tcp_delack;
|
||||
bool enable_tcp_limit_output;
|
||||
uint32_t enable_tcp_adv_win_scale;
|
||||
uint32_t tcpDelackThresholdHigh;
|
||||
uint32_t tcpDelackThresholdLow;
|
||||
|
|
|
|||
|
|
@ -3217,6 +3217,13 @@ struct reg_table_entry g_registry_table[] = {
|
|||
CFG_BUS_BANDWIDTH_COMPUTE_INTERVAL_MIN,
|
||||
CFG_BUS_BANDWIDTH_COMPUTE_INTERVAL_MAX),
|
||||
|
||||
REG_VARIABLE(CFG_ENABLE_TCP_LIMIT_OUTPUT, WLAN_PARAM_Integer,
|
||||
struct hdd_config, enable_tcp_limit_output,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
CFG_ENABLE_TCP_LIMIT_OUTPUT_DEFAULT,
|
||||
CFG_ENABLE_TCP_LIMIT_OUTPUT_MIN,
|
||||
CFG_ENABLE_TCP_LIMIT_OUTPUT_MAX),
|
||||
|
||||
REG_VARIABLE(CFG_ENABLE_TCP_ADV_WIN_SCALE, WLAN_PARAM_Integer,
|
||||
struct hdd_config, enable_tcp_adv_win_scale,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
|
|
@ -6877,6 +6884,9 @@ void hdd_cfg_print(struct hdd_context *hdd_ctx)
|
|||
hdd_ctx->config->busBandwidthLowThreshold);
|
||||
hdd_debug("Name = [gbusBandwidthComputeInterval] Value = [%u] ",
|
||||
hdd_ctx->config->busBandwidthComputeInterval);
|
||||
hdd_debug("Name = [%s] Value = [%u] ",
|
||||
CFG_ENABLE_TCP_LIMIT_OUTPUT,
|
||||
hdd_ctx->config->enable_tcp_limit_output);
|
||||
hdd_debug("Name = [%s] Value = [%u] ",
|
||||
CFG_ENABLE_TCP_ADV_WIN_SCALE,
|
||||
hdd_ctx->config->enable_tcp_adv_win_scale);
|
||||
|
|
|
|||
|
|
@ -6931,7 +6931,8 @@ static void hdd_pld_request_bus_bandwidth(struct hdd_context *hdd_ctx,
|
|||
else
|
||||
next_tx_level = WLAN_SVC_TP_LOW;
|
||||
|
||||
if (hdd_ctx->cur_tx_level != next_tx_level) {
|
||||
if ((hdd_ctx->config->enable_tcp_limit_output) &&
|
||||
(hdd_ctx->cur_tx_level != next_tx_level)) {
|
||||
hdd_debug("change TCP TX trigger level %d, average_tx: %llu",
|
||||
next_tx_level, temp_tx);
|
||||
hdd_ctx->cur_tx_level = next_tx_level;
|
||||
|
|
|
|||
Loading…
Reference in a new issue