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:
stonez
2018-10-17 13:37:48 +08:00
gecommit door nshrivas
bovenliggende 820d716659
commit 0817e39220
3 gewijzigde bestanden met toevoegingen van 129 en 5 verwijderingen

Bestand weergeven

@@ -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);
}

Bestand weergeven

@@ -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 */

Bestand weergeven

@@ -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;
};