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);
|
cfg_get(psoc, CFG_TX_AGGR_SW_RETRY_VI);
|
||||||
qos_aggr_params->tx_aggr_sw_retry_threshold_vo =
|
qos_aggr_params->tx_aggr_sw_retry_threshold_vo =
|
||||||
cfg_get(psoc, CFG_TX_AGGR_SW_RETRY_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 =
|
qos_aggr_params->sap_max_inactivity_override =
|
||||||
cfg_get(psoc, CFG_SAP_MAX_INACTIVITY_OVERRIDE);
|
cfg_get(psoc, CFG_SAP_MAX_INACTIVITY_OVERRIDE);
|
||||||
}
|
}
|
||||||
|
@@ -294,6 +294,110 @@
|
|||||||
CFG_VALUE_OR_DEFAULT, \
|
CFG_VALUE_OR_DEFAULT, \
|
||||||
"Tx aggregation retry value for VO")
|
"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>
|
* <ini>
|
||||||
* gSapMaxInactivityOverride - Configure
|
* gSapMaxInactivityOverride - Configure
|
||||||
@@ -322,6 +426,7 @@
|
|||||||
"SAP maximum inactivity override flag")
|
"SAP maximum inactivity override flag")
|
||||||
|
|
||||||
#define CFG_QOS_ALL \
|
#define CFG_QOS_ALL \
|
||||||
|
CFG(CFG_SAP_MAX_INACTIVITY_OVERRIDE) \
|
||||||
CFG(CFG_TX_AGGREGATION_SIZE) \
|
CFG(CFG_TX_AGGREGATION_SIZE) \
|
||||||
CFG(CFG_TX_AGGREGATION_SIZEBE) \
|
CFG(CFG_TX_AGGREGATION_SIZEBE) \
|
||||||
CFG(CFG_TX_AGGREGATION_SIZEBK) \
|
CFG(CFG_TX_AGGREGATION_SIZEBK) \
|
||||||
@@ -332,6 +437,9 @@
|
|||||||
CFG(CFG_TX_AGGR_SW_RETRY_BK) \
|
CFG(CFG_TX_AGGR_SW_RETRY_BK) \
|
||||||
CFG(CFG_TX_AGGR_SW_RETRY_VI) \
|
CFG(CFG_TX_AGGR_SW_RETRY_VI) \
|
||||||
CFG(CFG_TX_AGGR_SW_RETRY_VO) \
|
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 */
|
#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_vi: No. of MPDUs for VI queue for TX aggr
|
||||||
* @tx_aggregation_size_vo: No. of MPDUs for VO 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
|
* @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_be: aggr sw retry threshold for BE
|
||||||
* @tx_aggr_sw_retry_threshold_bk: Tx aggregation sw retry for BK
|
* @tx_aggr_sw_retry_threshold_bk: aggr sw retry threshold for BK
|
||||||
* @tx_aggr_sw_retry_threshold_vi: Tx aggregation sw retry for VI
|
* @tx_aggr_sw_retry_threshold_vi: aggr sw retry threshold for VI
|
||||||
* @tx_aggr_sw_retry_threshold_vo: Tx aggregation sw retry for VO
|
* @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
|
* @sap_max_inactivity_override: Override updating ap_sta_inactivity from
|
||||||
* hostapd.conf
|
* 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_bk;
|
||||||
uint32_t tx_aggr_sw_retry_threshold_vi;
|
uint32_t tx_aggr_sw_retry_threshold_vi;
|
||||||
uint32_t tx_aggr_sw_retry_threshold_vo;
|
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;
|
bool sap_max_inactivity_override;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user