qcacld-3.0: Configure non aggr TX packet retransmission
Wireless application needs to tune parameters per AC based. Such as VI/VO queue use the different re-transmission attempts while other queue keeps the default value. It helps to improve the video/audio performance in noisy environment. this change add the ability to config re-transmission attempts of non aggregation QOS packets. Change-Id: I95404302463275803e3feff3038f04c900b14705 CRs-Fixed: 2323555
This commit is contained in:
@@ -479,6 +479,14 @@ static void mlme_init_qos_cfg(struct wlan_objmgr_psoc *psoc,
|
||||
cfg_get(psoc, CFG_TX_AGGR_SW_RETRY_VI);
|
||||
qos_aggr_params->tx_aggr_sw_retry_threshold_vo =
|
||||
cfg_get(psoc, CFG_TX_AGGR_SW_RETRY_VO);
|
||||
qos_aggr_params->tx_non_aggr_sw_retry_threshold_be =
|
||||
cfg_get(psoc, CFG_TX_NON_AGGR_SW_RETRY_BE);
|
||||
qos_aggr_params->tx_non_aggr_sw_retry_threshold_bk =
|
||||
cfg_get(psoc, CFG_TX_NON_AGGR_SW_RETRY_BK);
|
||||
qos_aggr_params->tx_non_aggr_sw_retry_threshold_vi =
|
||||
cfg_get(psoc, CFG_TX_NON_AGGR_SW_RETRY_VI);
|
||||
qos_aggr_params->tx_non_aggr_sw_retry_threshold_vo =
|
||||
cfg_get(psoc, CFG_TX_NON_AGGR_SW_RETRY_VO);
|
||||
qos_aggr_params->sap_max_inactivity_override =
|
||||
cfg_get(psoc, CFG_SAP_MAX_INACTIVITY_OVERRIDE);
|
||||
}
|
||||
|
@@ -294,6 +294,110 @@
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"Tx aggregation retry value for VO")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gTxNonAggSwRetryBE - Configure Tx non aggregation sw retry for BE
|
||||
* @Min: 0
|
||||
* @Max: 64
|
||||
* @Default: 0
|
||||
*
|
||||
* gTxNonAggSwRetryBE gives an option to configure Tx non aggregation sw
|
||||
* retry for BE. This can be useful in debugging throughput issues.
|
||||
*
|
||||
* Related: None
|
||||
*
|
||||
* Supported Feature: STA
|
||||
*
|
||||
* Usage: Internal
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_TX_NON_AGGR_SW_RETRY_BE CFG_INI_UINT( \
|
||||
"gTxNonAggSwRetryBE", \
|
||||
0, \
|
||||
64, \
|
||||
0, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"Tx non aggregation retry value for BE")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gTxNonAggSwRetryBK - Configure Tx non aggregation sw retry for BK
|
||||
* @Min: 0
|
||||
* @Max: 64
|
||||
* @Default: 0
|
||||
*
|
||||
* gTxNonAggSwRetryBK gives an option to configure Tx non aggregation sw
|
||||
* retry for BK. This can be useful in debugging throughput issues.
|
||||
*
|
||||
* Related: None
|
||||
*
|
||||
* Supported Feature: STA
|
||||
*
|
||||
* Usage: Internal
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_TX_NON_AGGR_SW_RETRY_BK CFG_INI_UINT( \
|
||||
"gTxNonAggSwRetryBK", \
|
||||
0, \
|
||||
64, \
|
||||
0, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"Tx non aggregation retry value for BK")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gTxNonAggSwRetryVI - Configure Tx non aggregation sw retry for VI
|
||||
* @Min: 0
|
||||
* @Max: 64
|
||||
* @Default: 0
|
||||
*
|
||||
* gTxNonAggSwRetryVI gives an option to configure Tx non aggregation sw
|
||||
* retry for VI. This can be useful in debugging throughput issues.
|
||||
*
|
||||
* Related: None
|
||||
*
|
||||
* Supported Feature: STA
|
||||
*
|
||||
* Usage: Internal
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_TX_NON_AGGR_SW_RETRY_VI CFG_INI_UINT( \
|
||||
"gTxNonAggSwRetryVI", \
|
||||
0, \
|
||||
64, \
|
||||
0, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"Tx non aggregation retry value for VI")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gTxNonAggSwRetryVO - Configure Tx non aggregation sw retry for VO
|
||||
* @Min: 0
|
||||
* @Max: 64
|
||||
* @Default: 0
|
||||
*
|
||||
* gTxNonAggSwRetryVO gives an option to configure Tx non aggregation sw
|
||||
* retry for VO. This can be useful in debugging throughput issues.
|
||||
*
|
||||
* Related: None
|
||||
*
|
||||
* Supported Feature: STA
|
||||
*
|
||||
* Usage: Internal
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_TX_NON_AGGR_SW_RETRY_VO CFG_INI_UINT( \
|
||||
"gTxNonAggSwRetryVO", \
|
||||
0, \
|
||||
64, \
|
||||
0, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"Tx non aggregation retry value for VO")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gSapMaxInactivityOverride - Configure
|
||||
@@ -322,6 +426,7 @@
|
||||
"SAP maximum inactivity override flag")
|
||||
|
||||
#define CFG_QOS_ALL \
|
||||
CFG(CFG_SAP_MAX_INACTIVITY_OVERRIDE) \
|
||||
CFG(CFG_TX_AGGREGATION_SIZE) \
|
||||
CFG(CFG_TX_AGGREGATION_SIZEBE) \
|
||||
CFG(CFG_TX_AGGREGATION_SIZEBK) \
|
||||
@@ -332,6 +437,9 @@
|
||||
CFG(CFG_TX_AGGR_SW_RETRY_BK) \
|
||||
CFG(CFG_TX_AGGR_SW_RETRY_VI) \
|
||||
CFG(CFG_TX_AGGR_SW_RETRY_VO) \
|
||||
CFG(CFG_SAP_MAX_INACTIVITY_OVERRIDE)
|
||||
CFG(CFG_TX_NON_AGGR_SW_RETRY_BE) \
|
||||
CFG(CFG_TX_NON_AGGR_SW_RETRY_BK) \
|
||||
CFG(CFG_TX_NON_AGGR_SW_RETRY_VI) \
|
||||
CFG(CFG_TX_NON_AGGR_SW_RETRY_VO)
|
||||
|
||||
#endif /* __CFG_MLME_QOS_H */
|
||||
|
@@ -486,10 +486,14 @@ struct wlan_mlme_vht_caps {
|
||||
* @tx_aggregation_size_vi: No. of MPDUs for VI queue for TX aggr
|
||||
* @tx_aggregation_size_vo: No. of MPDUs for VO queue for TX aggr
|
||||
* @rx_aggregation_size: No. of MPDUs for RX aggr
|
||||
* @tx_aggr_sw_retry_threshold_be: Tx aggregation sw retry for BE
|
||||
* @tx_aggr_sw_retry_threshold_bk: Tx aggregation sw retry for BK
|
||||
* @tx_aggr_sw_retry_threshold_vi: Tx aggregation sw retry for VI
|
||||
* @tx_aggr_sw_retry_threshold_vo: Tx aggregation sw retry for VO
|
||||
* @tx_aggr_sw_retry_threshold_be: aggr sw retry threshold for BE
|
||||
* @tx_aggr_sw_retry_threshold_bk: aggr sw retry threshold for BK
|
||||
* @tx_aggr_sw_retry_threshold_vi: aggr sw retry threshold for VI
|
||||
* @tx_aggr_sw_retry_threshold_vo: aggr sw retry threshold for VO
|
||||
* @tx_non_aggr_sw_retry_threshold_be: non aggr sw retry threshold for BE
|
||||
* @tx_non_aggr_sw_retry_threshold_bk: non aggr sw retry threshold for BK
|
||||
* @tx_non_aggr_sw_retry_threshold_vi: non aggr sw retry threshold for VI
|
||||
* @tx_non_aggr_sw_retry_threshold_vo: non aggr sw retry threshold for VO
|
||||
* @sap_max_inactivity_override: Override updating ap_sta_inactivity from
|
||||
* hostapd.conf
|
||||
*/
|
||||
@@ -504,6 +508,10 @@ struct wlan_mlme_qos {
|
||||
uint32_t tx_aggr_sw_retry_threshold_bk;
|
||||
uint32_t tx_aggr_sw_retry_threshold_vi;
|
||||
uint32_t tx_aggr_sw_retry_threshold_vo;
|
||||
uint32_t tx_non_aggr_sw_retry_threshold_be;
|
||||
uint32_t tx_non_aggr_sw_retry_threshold_bk;
|
||||
uint32_t tx_non_aggr_sw_retry_threshold_vi;
|
||||
uint32_t tx_non_aggr_sw_retry_threshold_vo;
|
||||
bool sap_max_inactivity_override;
|
||||
};
|
||||
|
||||
|
Verwijs in nieuw issue
Block a user