mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-14 08:36:12 -04:00
qcacld-3.0: Configure the A-MPDU subframe per AC
Video/audio wireless application needs to tune parameters per AC based. Configure A-MPDU subframe parameter per AC via driver ini configuration file. Change-Id: Id63be7aacf6465edee08f7a2f4c8a119f9bd6346 CRs-Fixed: 2212932
This commit is contained in:
parent
b9c4674fda
commit
ee09f8eefd
11 changed files with 304 additions and 5 deletions
|
|
@ -8823,6 +8823,110 @@ enum hdd_link_speed_rpt_type {
|
|||
#define CFG_TX_AGGREGATION_SIZE_MAX (64)
|
||||
#define CFG_TX_AGGREGATION_SIZE_DEFAULT (64)
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gTxAggregationSizeBE - To configure Tx aggregation size for BE queue
|
||||
* in no of MPDUs
|
||||
* @Min: 0
|
||||
* @Max: 64
|
||||
* @Default: 0
|
||||
*
|
||||
* gTxAggregationSizeBE gives an option to configure Tx aggregation size
|
||||
* for BE queue in no of MPDUs.This can be useful in debugging
|
||||
* throughput issues
|
||||
*
|
||||
* Related: None
|
||||
*
|
||||
* Supported Feature: STA
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
|
||||
#define CFG_TX_AGGREGATION_SIZEBE "gTxAggregationSizeBE"
|
||||
#define CFG_TX_AGGREGATION_SIZEBE_MIN (0)
|
||||
#define CFG_TX_AGGREGATION_SIZEBE_MAX (64)
|
||||
#define CFG_TX_AGGREGATION_SIZEBE_DEFAULT (0)
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gTxAggregationSizeBK - To configure Tx aggregation size for BK queue
|
||||
* in no of MPDUs
|
||||
* @Min: 0
|
||||
* @Max: 64
|
||||
* @Default: 0
|
||||
*
|
||||
* gTxAggregationSizeBK gives an option to configure Tx aggregation size
|
||||
* for BK queue in no of MPDUs.This can be useful in debugging
|
||||
* throughput issues
|
||||
*
|
||||
* Related: None
|
||||
*
|
||||
* Supported Feature: STA
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
|
||||
#define CFG_TX_AGGREGATION_SIZEBK "gTxAggregationSizeBK"
|
||||
#define CFG_TX_AGGREGATION_SIZEBK_MIN (0)
|
||||
#define CFG_TX_AGGREGATION_SIZEBK_MAX (64)
|
||||
#define CFG_TX_AGGREGATION_SIZEBK_DEFAULT (0)
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gTxAggregationSizeVI - To configure Tx aggregation size for VI queue
|
||||
* in no of MPDUs
|
||||
* @Min: 0
|
||||
* @Max: 64
|
||||
* @Default: 0
|
||||
*
|
||||
* gTxAggregationSizeVI gives an option to configure Tx aggregation size
|
||||
* for VI queue in no of MPDUs.This can be useful in debugging
|
||||
* throughput issues
|
||||
*
|
||||
* Related: None
|
||||
*
|
||||
* Supported Feature: STA
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
|
||||
#define CFG_TX_AGGREGATION_SIZEVI "gTxAggregationSizeVI"
|
||||
#define CFG_TX_AGGREGATION_SIZEVI_MIN (0)
|
||||
#define CFG_TX_AGGREGATION_SIZEVI_MAX (64)
|
||||
#define CFG_TX_AGGREGATION_SIZEVI_DEFAULT (0)
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gTxAggregationSizeVO - To configure Tx aggregation size for VO queue
|
||||
* in no of MPDUs
|
||||
* @Min: 0
|
||||
* @Max: 64
|
||||
* @Default: 0
|
||||
*
|
||||
* gTxAggregationSizeVO gives an option to configure Tx aggregation size
|
||||
* for BE queue in no of MPDUs.This can be useful in debugging
|
||||
* throughput issues
|
||||
*
|
||||
* Related: None
|
||||
*
|
||||
* Supported Feature: STA
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
|
||||
#define CFG_TX_AGGREGATION_SIZEVO "gTxAggregationSizeVO"
|
||||
#define CFG_TX_AGGREGATION_SIZEVO_MIN (0)
|
||||
#define CFG_TX_AGGREGATION_SIZEVO_MAX (64)
|
||||
#define CFG_TX_AGGREGATION_SIZEVO_DEFAULT (0)
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gRxAggregationSize - Gives an option to configure Rx aggregation size
|
||||
|
|
@ -14686,6 +14790,10 @@ struct hdd_config {
|
|||
bool goptimize_chan_avoid_event;
|
||||
bool enable_go_cts2self_for_sta;
|
||||
uint32_t tx_aggregation_size;
|
||||
uint32_t tx_aggregation_size_be;
|
||||
uint32_t tx_aggregation_size_bk;
|
||||
uint32_t tx_aggregation_size_vi;
|
||||
uint32_t tx_aggregation_size_vo;
|
||||
uint32_t rx_aggregation_size;
|
||||
bool sta_prefer_80MHz_over_160MHz;
|
||||
uint8_t sap_max_inactivity_override;
|
||||
|
|
|
|||
|
|
@ -4243,11 +4243,39 @@ struct reg_table_entry g_registry_table[] = {
|
|||
CFG_OPTIMIZE_CA_EVENT_ENABLE),
|
||||
|
||||
REG_VARIABLE(CFG_TX_AGGREGATION_SIZE, WLAN_PARAM_Integer,
|
||||
struct hdd_config, tx_aggregation_size,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
CFG_TX_AGGREGATION_SIZE_DEFAULT,
|
||||
CFG_TX_AGGREGATION_SIZE_MIN,
|
||||
CFG_TX_AGGREGATION_SIZE_MAX),
|
||||
struct hdd_config, tx_aggregation_size,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
CFG_TX_AGGREGATION_SIZE_DEFAULT,
|
||||
CFG_TX_AGGREGATION_SIZE_MIN,
|
||||
CFG_TX_AGGREGATION_SIZE_MAX),
|
||||
|
||||
REG_VARIABLE(CFG_TX_AGGREGATION_SIZEBE, WLAN_PARAM_Integer,
|
||||
struct hdd_config, tx_aggregation_size_be,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
CFG_TX_AGGREGATION_SIZEBE_DEFAULT,
|
||||
CFG_TX_AGGREGATION_SIZEBE_MIN,
|
||||
CFG_TX_AGGREGATION_SIZEBE_MAX),
|
||||
|
||||
REG_VARIABLE(CFG_TX_AGGREGATION_SIZEBK, WLAN_PARAM_Integer,
|
||||
struct hdd_config, tx_aggregation_size_bk,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
CFG_TX_AGGREGATION_SIZEBK_DEFAULT,
|
||||
CFG_TX_AGGREGATION_SIZEBK_MIN,
|
||||
CFG_TX_AGGREGATION_SIZEBK_MAX),
|
||||
|
||||
REG_VARIABLE(CFG_TX_AGGREGATION_SIZEVI, WLAN_PARAM_Integer,
|
||||
struct hdd_config, tx_aggregation_size_vi,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
CFG_TX_AGGREGATION_SIZEVI_DEFAULT,
|
||||
CFG_TX_AGGREGATION_SIZEVI_MIN,
|
||||
CFG_TX_AGGREGATION_SIZEVI_MAX),
|
||||
|
||||
REG_VARIABLE(CFG_TX_AGGREGATION_SIZEVO, WLAN_PARAM_Integer,
|
||||
struct hdd_config, tx_aggregation_size_vo,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
CFG_TX_AGGREGATION_SIZEVO_DEFAULT,
|
||||
CFG_TX_AGGREGATION_SIZEVO_MIN,
|
||||
CFG_TX_AGGREGATION_SIZEVO_MAX),
|
||||
|
||||
REG_VARIABLE(CFG_RX_AGGREGATION_SIZE, WLAN_PARAM_Integer,
|
||||
struct hdd_config, rx_aggregation_size,
|
||||
|
|
@ -8885,6 +8913,14 @@ QDF_STATUS hdd_set_sme_config(struct hdd_context *hdd_ctx)
|
|||
|
||||
smeConfig->csrConfig.tx_aggregation_size =
|
||||
hdd_ctx->config->tx_aggregation_size;
|
||||
smeConfig->csrConfig.tx_aggregation_size_be =
|
||||
hdd_ctx->config->tx_aggregation_size_be;
|
||||
smeConfig->csrConfig.tx_aggregation_size_bk =
|
||||
hdd_ctx->config->tx_aggregation_size_bk;
|
||||
smeConfig->csrConfig.tx_aggregation_size_vi =
|
||||
hdd_ctx->config->tx_aggregation_size_vi;
|
||||
smeConfig->csrConfig.tx_aggregation_size_vo =
|
||||
hdd_ctx->config->tx_aggregation_size_vo;
|
||||
smeConfig->csrConfig.rx_aggregation_size =
|
||||
hdd_ctx->config->rx_aggregation_size;
|
||||
smeConfig->csrConfig.enable_bcast_probe_rsp =
|
||||
|
|
|
|||
|
|
@ -6763,11 +6763,19 @@ struct sme_ndp_peer_ind {
|
|||
* struct sir_set_tx_rx_aggregation_size - sets tx rx aggregation size
|
||||
* @vdev_id: vdev id of the session
|
||||
* @tx_aggregation_size: Tx aggregation size
|
||||
* @tx_aggregation_size_be: Tx aggregation size for be queue
|
||||
* @tx_aggregation_size_bk: Tx aggregation size for bk queue
|
||||
* @tx_aggregation_size_vi: Tx aggregation size for vi queue
|
||||
* @tx_aggregation_size_vo: Tx aggregation size for vo queue
|
||||
* @rx_aggregation_size: Rx aggregation size
|
||||
*/
|
||||
struct sir_set_tx_rx_aggregation_size {
|
||||
uint8_t vdev_id;
|
||||
uint32_t tx_aggregation_size;
|
||||
uint32_t tx_aggregation_size_be;
|
||||
uint32_t tx_aggregation_size_bk;
|
||||
uint32_t tx_aggregation_size_vi;
|
||||
uint32_t tx_aggregation_size_vo;
|
||||
uint32_t rx_aggregation_size;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -642,6 +642,14 @@ lim_mlm_add_bss(tpAniSirGlobal mac_ctx,
|
|||
addbss_param->nss_5g = mac_ctx->vdev_type_nss_5g.ibss;
|
||||
addbss_param->tx_aggregation_size =
|
||||
mac_ctx->roam.configParam.tx_aggregation_size;
|
||||
addbss_param->tx_aggregation_size_be =
|
||||
mac_ctx->roam.configParam.tx_aggregation_size_be;
|
||||
addbss_param->tx_aggregation_size_bk =
|
||||
mac_ctx->roam.configParam.tx_aggregation_size_bk;
|
||||
addbss_param->tx_aggregation_size_vi =
|
||||
mac_ctx->roam.configParam.tx_aggregation_size_vi;
|
||||
addbss_param->tx_aggregation_size_vo =
|
||||
mac_ctx->roam.configParam.tx_aggregation_size_vo;
|
||||
addbss_param->rx_aggregation_size =
|
||||
mac_ctx->roam.configParam.rx_aggregation_size;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1278,6 +1278,10 @@ typedef struct tagCsrConfigParam {
|
|||
enum scan_dwelltime_adaptive_mode roamscan_adaptive_dwell_mode;
|
||||
struct csr_sta_roam_policy_params sta_roam_policy_params;
|
||||
uint32_t tx_aggregation_size;
|
||||
uint32_t tx_aggregation_size_be;
|
||||
uint32_t tx_aggregation_size_bk;
|
||||
uint32_t tx_aggregation_size_vi;
|
||||
uint32_t tx_aggregation_size_vo;
|
||||
uint32_t rx_aggregation_size;
|
||||
struct wmi_per_roam_config per_roam_config;
|
||||
bool enable_bcast_probe_rsp;
|
||||
|
|
|
|||
|
|
@ -582,6 +582,10 @@ struct csr_config {
|
|||
enum scan_dwelltime_adaptive_mode roamscan_adaptive_dwell_mode;
|
||||
struct csr_sta_roam_policy_params sta_roam_policy;
|
||||
uint32_t tx_aggregation_size;
|
||||
uint32_t tx_aggregation_size_be;
|
||||
uint32_t tx_aggregation_size_bk;
|
||||
uint32_t tx_aggregation_size_vi;
|
||||
uint32_t tx_aggregation_size_vo;
|
||||
uint32_t rx_aggregation_size;
|
||||
struct wmi_per_roam_config per_roam_config;
|
||||
bool enable_bcast_probe_rsp;
|
||||
|
|
|
|||
|
|
@ -3089,6 +3089,14 @@ QDF_STATUS csr_change_default_config_param(tpAniSirGlobal pMac,
|
|||
|
||||
pMac->roam.configParam.tx_aggregation_size =
|
||||
pParam->tx_aggregation_size;
|
||||
pMac->roam.configParam.tx_aggregation_size_be =
|
||||
pParam->tx_aggregation_size_be;
|
||||
pMac->roam.configParam.tx_aggregation_size_bk =
|
||||
pParam->tx_aggregation_size_bk;
|
||||
pMac->roam.configParam.tx_aggregation_size_vi =
|
||||
pParam->tx_aggregation_size_vi;
|
||||
pMac->roam.configParam.tx_aggregation_size_vo =
|
||||
pParam->tx_aggregation_size_vo;
|
||||
pMac->roam.configParam.rx_aggregation_size =
|
||||
pParam->rx_aggregation_size;
|
||||
pMac->roam.configParam.enable_bcast_probe_rsp =
|
||||
|
|
@ -3418,6 +3426,14 @@ QDF_STATUS csr_get_config_param(tpAniSirGlobal pMac, tCsrConfigParam *pParam)
|
|||
pMac->roam.configParam.sta_roam_policy.skip_unsafe_channels;
|
||||
pParam->tx_aggregation_size =
|
||||
pMac->roam.configParam.tx_aggregation_size;
|
||||
pParam->tx_aggregation_size_be =
|
||||
pMac->roam.configParam.tx_aggregation_size_be;
|
||||
pParam->tx_aggregation_size_bk =
|
||||
pMac->roam.configParam.tx_aggregation_size_bk;
|
||||
pParam->tx_aggregation_size_vi =
|
||||
pMac->roam.configParam.tx_aggregation_size_vi;
|
||||
pParam->tx_aggregation_size_vo =
|
||||
pMac->roam.configParam.tx_aggregation_size_vo;
|
||||
pParam->rx_aggregation_size =
|
||||
pMac->roam.configParam.rx_aggregation_size;
|
||||
pParam->enable_bcast_probe_rsp =
|
||||
|
|
@ -16723,6 +16739,14 @@ QDF_STATUS csr_issue_add_sta_for_session_req(tpAniSirGlobal pMac,
|
|||
add_sta_self_req->nss_5g = nss_5g;
|
||||
add_sta_self_req->tx_aggregation_size =
|
||||
pMac->roam.configParam.tx_aggregation_size;
|
||||
add_sta_self_req->tx_aggregation_size_be =
|
||||
pMac->roam.configParam.tx_aggregation_size_be;
|
||||
add_sta_self_req->tx_aggregation_size_bk =
|
||||
pMac->roam.configParam.tx_aggregation_size_bk;
|
||||
add_sta_self_req->tx_aggregation_size_vi =
|
||||
pMac->roam.configParam.tx_aggregation_size_vi;
|
||||
add_sta_self_req->tx_aggregation_size_vo =
|
||||
pMac->roam.configParam.tx_aggregation_size_vo;
|
||||
add_sta_self_req->rx_aggregation_size =
|
||||
pMac->roam.configParam.rx_aggregation_size;
|
||||
add_sta_self_req->enable_bcast_probe_rsp =
|
||||
|
|
|
|||
|
|
@ -252,6 +252,16 @@ QDF_STATUS wma_set_cts2self_for_p2p_go(void *wma_handle,
|
|||
QDF_STATUS wma_set_tx_rx_aggregation_size
|
||||
(struct sir_set_tx_rx_aggregation_size *tx_rx_aggregation_size);
|
||||
|
||||
/**
|
||||
* wma_set_tx_rx_aggregation_size_per_ac() - set aggregation size per ac
|
||||
* @tx_rx_aggregation_size: the parameter for aggregation size
|
||||
*
|
||||
* This function try to set the aggregation size per AC.
|
||||
*
|
||||
* Return: QDF_STATUS enumeration
|
||||
*/
|
||||
QDF_STATUS wma_set_tx_rx_aggregation_size_per_ac
|
||||
(struct sir_set_tx_rx_aggregation_size *tx_rx_aggregation_size);
|
||||
/**
|
||||
* wma_get_sar_limit() - get SAR limits from the target
|
||||
* @handle: wma handle
|
||||
|
|
|
|||
|
|
@ -509,6 +509,10 @@ typedef struct {
|
|||
uint8_t nss_5g;
|
||||
uint16_t beacon_tx_rate;
|
||||
uint32_t tx_aggregation_size;
|
||||
uint32_t tx_aggregation_size_be;
|
||||
uint32_t tx_aggregation_size_bk;
|
||||
uint32_t tx_aggregation_size_vi;
|
||||
uint32_t tx_aggregation_size_vo;
|
||||
uint32_t rx_aggregation_size;
|
||||
#ifdef WLAN_FEATURE_11AX
|
||||
bool he_capable;
|
||||
|
|
@ -1174,6 +1178,10 @@ struct add_sta_self_params {
|
|||
uint8_t nss_5g;
|
||||
uint32_t status;
|
||||
uint32_t tx_aggregation_size;
|
||||
uint32_t tx_aggregation_size_be;
|
||||
uint32_t tx_aggregation_size_bk;
|
||||
uint32_t tx_aggregation_size_vi;
|
||||
uint32_t tx_aggregation_size_vo;
|
||||
uint32_t rx_aggregation_size;
|
||||
bool enable_bcast_probe_rsp;
|
||||
uint8_t fils_max_chan_guard_time;
|
||||
|
|
|
|||
|
|
@ -2297,8 +2297,23 @@ struct cdp_vdev *wma_vdev_attach(tp_wma_handle wma_handle,
|
|||
if (status != QDF_STATUS_SUCCESS)
|
||||
WMA_LOGE("failed to set aggregation sizes(err=%d)", status);
|
||||
|
||||
tx_rx_aggregation_size.tx_aggregation_size_be =
|
||||
self_sta_req->tx_aggregation_size_be;
|
||||
tx_rx_aggregation_size.tx_aggregation_size_bk =
|
||||
self_sta_req->tx_aggregation_size_bk;
|
||||
tx_rx_aggregation_size.tx_aggregation_size_vi =
|
||||
self_sta_req->tx_aggregation_size_vi;
|
||||
tx_rx_aggregation_size.tx_aggregation_size_vo =
|
||||
self_sta_req->tx_aggregation_size_vo;
|
||||
|
||||
switch (self_sta_req->type) {
|
||||
case WMI_VDEV_TYPE_STA:
|
||||
status = wma_set_tx_rx_aggregation_size_per_ac(
|
||||
&tx_rx_aggregation_size);
|
||||
if (status != QDF_STATUS_SUCCESS)
|
||||
WMA_LOGE("failed to set aggr sizes per ac(err=%d)",
|
||||
status);
|
||||
|
||||
if (wlan_cfg_get_int(mac, WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD,
|
||||
&cfg_val) != eSIR_SUCCESS) {
|
||||
WMA_LOGE("Failed to get value for WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD");
|
||||
|
|
|
|||
|
|
@ -4596,6 +4596,80 @@ QDF_STATUS wma_set_tx_rx_aggregation_size(
|
|||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS wma_set_tx_rx_aggregation_size_per_ac(
|
||||
struct sir_set_tx_rx_aggregation_size *tx_rx_aggregation_size)
|
||||
{
|
||||
tp_wma_handle wma_handle;
|
||||
wmi_vdev_set_custom_aggr_size_cmd_fixed_param *cmd;
|
||||
int32_t len;
|
||||
wmi_buf_t buf;
|
||||
u_int8_t *buf_ptr;
|
||||
int ret;
|
||||
int queue_num;
|
||||
uint32_t tx_aggr_size[4];
|
||||
|
||||
wma_handle = cds_get_context(QDF_MODULE_ID_WMA);
|
||||
|
||||
if (!tx_rx_aggregation_size) {
|
||||
WMA_LOGE("%s: invalid pointer", __func__);
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
if (!wma_handle) {
|
||||
WMA_LOGE("%s: WMA context is invald!", __func__);
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
tx_aggr_size[0] = tx_rx_aggregation_size->tx_aggregation_size_be;
|
||||
tx_aggr_size[1] = tx_rx_aggregation_size->tx_aggregation_size_bk;
|
||||
tx_aggr_size[2] = tx_rx_aggregation_size->tx_aggregation_size_vi;
|
||||
tx_aggr_size[3] = tx_rx_aggregation_size->tx_aggregation_size_vo;
|
||||
|
||||
for (queue_num = 0; queue_num < 4; queue_num++) {
|
||||
if (tx_aggr_size[queue_num] == 0)
|
||||
continue;
|
||||
|
||||
len = sizeof(*cmd);
|
||||
buf = wmi_buf_alloc(wma_handle->wmi_handle, len);
|
||||
|
||||
if (!buf) {
|
||||
WMA_LOGE("%s: Failed allocate wmi buffer", __func__);
|
||||
return QDF_STATUS_E_NOMEM;
|
||||
}
|
||||
|
||||
buf_ptr = (u_int8_t *)wmi_buf_data(buf);
|
||||
cmd = (wmi_vdev_set_custom_aggr_size_cmd_fixed_param *)buf_ptr;
|
||||
|
||||
WMITLV_SET_HDR(&cmd->tlv_header,
|
||||
WMITLV_TAG_STRUC_wmi_vdev_set_custom_aggr_size_cmd_fixed_param,
|
||||
WMITLV_GET_STRUCT_TLVLEN(
|
||||
wmi_vdev_set_custom_aggr_size_cmd_fixed_param));
|
||||
|
||||
cmd->vdev_id = tx_rx_aggregation_size->vdev_id;
|
||||
cmd->rx_aggr_size =
|
||||
tx_rx_aggregation_size->rx_aggregation_size;
|
||||
|
||||
cmd->tx_aggr_size = tx_aggr_size[queue_num];
|
||||
/* bit 5: tx_ac_enable, if set, ac bitmap is valid. */
|
||||
cmd->enable_bitmap = 0x20 | queue_num;
|
||||
|
||||
WMA_LOGD("queue_num: %d, tx aggr: %d rx aggr: %d vdev: %d",
|
||||
queue_num, cmd->tx_aggr_size,
|
||||
cmd->rx_aggr_size, cmd->vdev_id);
|
||||
|
||||
ret = wmi_unified_cmd_send(wma_handle->wmi_handle, buf, len,
|
||||
WMI_VDEV_SET_CUSTOM_AGGR_SIZE_CMDID);
|
||||
if (ret) {
|
||||
WMA_LOGE("%s: Failed to send aggregation size command",
|
||||
__func__);
|
||||
wmi_buf_free(buf);
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
}
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
/**
|
||||
* wma_p2p_lo_start() - P2P listen offload start
|
||||
* @params: p2p listen offload parameters
|
||||
|
|
|
|||
Loading…
Reference in a new issue