qcacld-3.0: ADD MLME INI items of WMM AC_BK
Add the following WMM BE VO ini configs to MLME cfg: 1. CFG_QOS_WMM_INFRA_DIR_AC_BK_NAME 2. CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_NAME 3. CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_NAME 4. CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_NAME 5. CFG_QOS_WMM_INFRA_SBA_AC_BK_NAME 6. CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_NAME 7. CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_NAME Introduce the basic infra APIs related to these configs from mlme. Change-Id: I1f8e6f0fa1ff15eda36a20ee06772c4a1ddd9ca8 CRs-Fixed: 2327690
This commit is contained in:
@@ -1293,6 +1293,21 @@ static void mlme_init_wmm_in_cfg(struct wlan_objmgr_psoc *psoc,
|
||||
cfg_get(psoc, CFG_QOS_WMM_UAPSD_BE_SRV_INTV);
|
||||
wmm_params->ac_be.uapsd_be_sus_intv =
|
||||
cfg_get(psoc, CFG_QOS_WMM_UAPSD_BE_SUS_INTV);
|
||||
|
||||
wmm_params->ac_bk.dir_ac_bk =
|
||||
cfg_get(psoc, CFG_QOS_WMM_DIR_AC_BK);
|
||||
wmm_params->ac_bk.nom_msdu_size_ac_bk =
|
||||
cfg_get(psoc, CFG_QOS_WMM_NOM_MSDU_SIZE_AC_BK);
|
||||
wmm_params->ac_bk.mean_data_rate_ac_bk =
|
||||
cfg_get(psoc, CFG_QOS_WMM_MEAN_DATA_RATE_AC_BK);
|
||||
wmm_params->ac_bk.min_phy_rate_ac_bk =
|
||||
cfg_get(psoc, CFG_QOS_WMM_MIN_PHY_RATE_AC_BK);
|
||||
wmm_params->ac_bk.sba_ac_bk =
|
||||
cfg_get(psoc, CFG_QOS_WMM_SBA_AC_BK);
|
||||
wmm_params->ac_bk.uapsd_bk_srv_intv =
|
||||
cfg_get(psoc, CFG_QOS_WMM_UAPSD_BK_SRV_INTV);
|
||||
wmm_params->ac_bk.uapsd_bk_sus_intv =
|
||||
cfg_get(psoc, CFG_QOS_WMM_UAPSD_BK_SUS_INTV);
|
||||
}
|
||||
|
||||
static void mlme_init_wps_params_cfg(struct wlan_objmgr_psoc *psoc,
|
||||
|
@@ -581,6 +581,181 @@
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"Infra uapsd vi sus intv")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* InfraDirAcBk - Set TSPEC direction for BK
|
||||
* @Min: 0
|
||||
* @Max: 3
|
||||
* @Default: 3
|
||||
*
|
||||
* This ini is used to set TSPEC direction for BK
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: WMM
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_QOS_WMM_DIR_AC_BK CFG_INI_UINT( \
|
||||
"InfraDirAcBk", \
|
||||
0, \
|
||||
3, \
|
||||
3, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"TSPEC direction for BK")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* InfraNomMsduSizeAcBk - Set normal MSDU size for BK
|
||||
* @Min: 0x0
|
||||
* @Max: 0xFFFF
|
||||
* @Default: 0x85DC
|
||||
*
|
||||
* This ini is used to set normal MSDU size for BK
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: WMM
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_QOS_WMM_NOM_MSDU_SIZE_AC_BK CFG_INI_UINT( \
|
||||
"InfraNomMsduSizeAcBk", \
|
||||
0x0, \
|
||||
0xFFFF, \
|
||||
0x85DC, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"MSDU size for BK")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* InfraMeanDataRateAcBk - Set mean data rate for BK
|
||||
* @Min: 0x0
|
||||
* @Max: 0xFFFFFFFF
|
||||
* @Default: 0x493E0
|
||||
*
|
||||
* This ini is used to set mean data rate for BK
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: WMM
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_QOS_WMM_MEAN_DATA_RATE_AC_BK CFG_INI_UINT( \
|
||||
"InfraMeanDataRateAcBk", \
|
||||
0x0, \
|
||||
0xFFFFFFFF, \
|
||||
0x493E0, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"data rate for BK")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* InfraMinPhyRateAcBke - Set min PHY rate for BK
|
||||
* @Min: 0x0
|
||||
* @Max: 0xFFFFFFFF
|
||||
* @Default: 0x5B8D80
|
||||
*
|
||||
* This ini is used to set min PHY rate for BK
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: WMM
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_QOS_WMM_MIN_PHY_RATE_AC_BK CFG_INI_UINT( \
|
||||
"InfraMinPhyRateAcBk", \
|
||||
0x0, \
|
||||
0xFFFFFFFF, \
|
||||
0x5B8D80, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"min PHY rate for BK")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* InfraSbaAcBk - Set surplus bandwidth allowance for BK
|
||||
* @Min: 0x2001
|
||||
* @Max: 0xFFFF
|
||||
* @Default: 0x2001
|
||||
*
|
||||
* This ini is used to set surplus bandwidth allowance for BK
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: WMM
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_QOS_WMM_SBA_AC_BK CFG_INI_UINT( \
|
||||
"InfraSbaAcBk", \
|
||||
0x2001, \
|
||||
0xFFFF, \
|
||||
0x2001, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"surplus bandwidth allowance for BK")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* InfraUapsdBkSrvIntv - Set Uapsd service interval for BK
|
||||
* @Min: 0
|
||||
* @Max: 4294967295UL
|
||||
* @Default: 300
|
||||
*
|
||||
* This ini is used to set Uapsd service interval for BK
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: WMM
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_QOS_WMM_UAPSD_BK_SRV_INTV CFG_INI_UINT( \
|
||||
"InfraUapsdBkSrvIntv", \
|
||||
0, \
|
||||
4294967295UL, \
|
||||
300, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"Infra uapsd bk srv intv")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* InfraUapsdBkSuspIntv - Set Uapsd suspension interval for BK
|
||||
* @Min: 0
|
||||
* @Max: 4294967295UL
|
||||
* @Default: 2000
|
||||
*
|
||||
* This ini is used to set Uapsd suspension interval for BK
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: WMM
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_QOS_WMM_UAPSD_BK_SUS_INTV CFG_INI_UINT( \
|
||||
"InfraUapsdBkSuspIntv", \
|
||||
0, \
|
||||
4294967295UL, \
|
||||
2000, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"Infra uapsd bk sus intv")
|
||||
|
||||
#define CFG_WMM_PARAMS_ALL \
|
||||
CFG(CFG_QOS_ENABLED) \
|
||||
CFG(CFG_WME_ENABLED) \
|
||||
@@ -607,6 +782,13 @@
|
||||
CFG(CFG_QOS_WMM_MIN_PHY_RATE_AC_BE) \
|
||||
CFG(CFG_QOS_WMM_SBA_AC_BE) \
|
||||
CFG(CFG_QOS_WMM_UAPSD_BE_SRV_INTV) \
|
||||
CFG(CFG_QOS_WMM_UAPSD_BE_SUS_INTV)
|
||||
CFG(CFG_QOS_WMM_UAPSD_BE_SUS_INTV) \
|
||||
CFG(CFG_QOS_WMM_DIR_AC_BK) \
|
||||
CFG(CFG_QOS_WMM_NOM_MSDU_SIZE_AC_BK) \
|
||||
CFG(CFG_QOS_WMM_MEAN_DATA_RATE_AC_BK) \
|
||||
CFG(CFG_QOS_WMM_MIN_PHY_RATE_AC_BK) \
|
||||
CFG(CFG_QOS_WMM_SBA_AC_BK) \
|
||||
CFG(CFG_QOS_WMM_UAPSD_BK_SRV_INTV) \
|
||||
CFG(CFG_QOS_WMM_UAPSD_BK_SUS_INTV)
|
||||
|
||||
#endif /* __CFG_MLME_FE_WMM_H */
|
||||
|
@@ -801,6 +801,88 @@ QDF_STATUS wlan_mlme_get_wmm_uapsd_be_srv_intv(struct wlan_objmgr_psoc *psoc,
|
||||
QDF_STATUS wlan_mlme_get_wmm_uapsd_be_sus_intv(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *value);
|
||||
|
||||
/**
|
||||
* wlan_mlme_get_wmm_dir_ac_bk() - Get TSPEC direction
|
||||
* for BK
|
||||
* @psoc: pointer to psoc object
|
||||
* @value: Value that needs to be set from the caller
|
||||
*
|
||||
* Return: QDF Status
|
||||
*/
|
||||
QDF_STATUS
|
||||
wlan_mlme_get_wmm_dir_ac_bk(struct wlan_objmgr_psoc *psoc, uint8_t *value);
|
||||
|
||||
/**
|
||||
* wlan_mlme_get_wmm_nom_msdu_size_ac_bk() - Get normal
|
||||
* MSDU size for BK
|
||||
* @psoc: pointer to psoc object
|
||||
* @value: Value that needs to be set from the caller
|
||||
*
|
||||
* Return: QDF Status
|
||||
*/
|
||||
QDF_STATUS
|
||||
wlan_mlme_get_wmm_nom_msdu_size_ac_bk(struct wlan_objmgr_psoc *psoc,
|
||||
uint16_t *value);
|
||||
|
||||
/**
|
||||
* wlan_mlme_get_wmm_mean_data_rate_ac_bk() - mean data
|
||||
* rate for BK
|
||||
* @psoc: pointer to psoc object
|
||||
* @value: Value that needs to be set from the caller
|
||||
*
|
||||
* Return: QDF Status
|
||||
*/
|
||||
QDF_STATUS
|
||||
wlan_mlme_get_wmm_mean_data_rate_ac_bk(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *value);
|
||||
|
||||
/**
|
||||
* wlan_mlme_get_wmm_min_phy_rate_ac_bk() - min PHY
|
||||
* rate for BK
|
||||
* @psoc: pointer to psoc object
|
||||
* @value: Value that needs to be set from the caller
|
||||
*
|
||||
* Return: QDF Status
|
||||
*/
|
||||
QDF_STATUS
|
||||
wlan_mlme_get_wmm_min_phy_rate_ac_bk(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *value);
|
||||
|
||||
/**
|
||||
* wlan_mlme_get_wmm_sba_ac_bk() - surplus bandwidth
|
||||
* allowance for BE
|
||||
* @psoc: pointer to psoc object
|
||||
* @value: Value that needs to be set from the caller
|
||||
*
|
||||
* Return: QDF Status
|
||||
*/
|
||||
QDF_STATUS
|
||||
wlan_mlme_get_wmm_sba_ac_bk(struct wlan_objmgr_psoc *psoc, uint16_t *value);
|
||||
|
||||
/**
|
||||
* wlan_mlme_get_wmm_uapsd_bk_srv_intv() - Get Uapsd service
|
||||
* interval for BK
|
||||
* @psoc: pointer to psoc object
|
||||
* @value: pointer to the value which will be filled for the caller
|
||||
*
|
||||
* Return: QDF Status
|
||||
*/
|
||||
QDF_STATUS
|
||||
wlan_mlme_get_wmm_uapsd_bk_srv_intv(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *value);
|
||||
|
||||
/**
|
||||
* wlan_mlme_get_wmm_uapsd_bk_sus_intv() - Get Uapsd suspension
|
||||
* interval for BK
|
||||
* @psoc: pointer to psoc object
|
||||
* @value: pointer to the value which will be filled for the caller
|
||||
*
|
||||
* Return: QDF Status
|
||||
*/
|
||||
QDF_STATUS
|
||||
wlan_mlme_get_wmm_uapsd_bk_sus_intv(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *value);
|
||||
|
||||
/**
|
||||
* wlan_mlme_get_wmm_dir_ac_vo() - Get TSPEC direction
|
||||
* for VO
|
||||
|
@@ -1062,6 +1062,27 @@ struct wlan_mlme_wmm_ac_be {
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* struct wlan_mlme_wmm_ac_bk - Default TSPEC parameters
|
||||
* for AC_BK
|
||||
* @dir_ac_bk: TSPEC direction for BK
|
||||
* @nom_msdu_size_ac_bk: normal MSDU size for BK
|
||||
* @mean_data_rate_ac_bk: mean data rate for BK
|
||||
* @min_phy_rate_ac_bk: min PHY rate for BK
|
||||
* @sba_ac_bk: surplus bandwidth allowance for BK
|
||||
* @uapsd_bk_srv_intv: Uapsd service interval for BK
|
||||
* @uapsd_bk_sus_intv: Uapsd suspension interval for BK
|
||||
*/
|
||||
struct wlan_mlme_wmm_ac_bk {
|
||||
uint8_t dir_ac_bk;
|
||||
uint16_t nom_msdu_size_ac_bk;
|
||||
uint32_t mean_data_rate_ac_bk;
|
||||
uint32_t min_phy_rate_ac_bk;
|
||||
uint16_t sba_ac_bk;
|
||||
uint32_t uapsd_bk_srv_intv;
|
||||
uint32_t uapsd_bk_sus_intv;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct wlan_mlme_wmm_params - WMM CFG Items
|
||||
* @qos_enabled: AP is enabled with 11E
|
||||
@@ -1071,6 +1092,7 @@ struct wlan_mlme_wmm_ac_be {
|
||||
* @ac_vo: Default TSPEC parameters for AC_VO
|
||||
* @ac_vi: Default TSPEC parameters for AC_VI
|
||||
* @ac_be: Default TSPEC parameters for AC_BE
|
||||
* @ac_bk: Default TSPEC parameters for AC_BK
|
||||
*/
|
||||
struct wlan_mlme_wmm_params {
|
||||
bool qos_enabled;
|
||||
@@ -1081,6 +1103,7 @@ struct wlan_mlme_wmm_params {
|
||||
struct wlan_mlme_wmm_ac_vo ac_vo;
|
||||
struct wlan_mlme_wmm_ac_vi ac_vi;
|
||||
struct wlan_mlme_wmm_ac_be ac_be;
|
||||
struct wlan_mlme_wmm_ac_bk ac_bk;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -1932,4 +1932,121 @@ ucfg_mlme_get_wmm_uapsd_be_sus_intv(struct wlan_objmgr_psoc *psoc,
|
||||
return wlan_mlme_get_wmm_uapsd_be_sus_intv(psoc, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* ucfg_mlme_get_wmm_dir_ac_bk() - Get TSPEC direction
|
||||
* for BK
|
||||
* @psoc: pointer to psoc object
|
||||
* @value: Value that needs to be set from the caller
|
||||
*
|
||||
* Inline UCFG API to be used by HDD/OSIF callers
|
||||
*
|
||||
* Return: QDF Status
|
||||
*/
|
||||
static inline QDF_STATUS
|
||||
ucfg_mlme_get_wmm_dir_ac_bk(struct wlan_objmgr_psoc *psoc, uint8_t *value)
|
||||
{
|
||||
return wlan_mlme_get_wmm_dir_ac_bk(psoc, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* ucfg_mlme_get_wmm_nom_msdu_size_ac_be() - Get normal
|
||||
* MSDU size for BE
|
||||
* @psoc: pointer to psoc object
|
||||
* @value: Value that needs to be set from the caller
|
||||
*
|
||||
* Inline UCFG API to be used by HDD/OSIF callers
|
||||
*
|
||||
* Return: QDF Status
|
||||
*/
|
||||
static inline QDF_STATUS
|
||||
ucfg_mlme_get_wmm_nom_msdu_size_ac_bk(struct wlan_objmgr_psoc *psoc,
|
||||
uint16_t *value)
|
||||
{
|
||||
return wlan_mlme_get_wmm_nom_msdu_size_ac_bk(psoc, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* ucfg_mlme_get_wmm_mean_data_rate_ac_bk() - mean data
|
||||
* rate for BK
|
||||
* @psoc: pointer to psoc object
|
||||
* @value: Value that needs to be set from the caller
|
||||
*
|
||||
* Inline UCFG API to be used by HDD/OSIF callers
|
||||
*
|
||||
* Return: QDF Status
|
||||
*/
|
||||
static inline QDF_STATUS
|
||||
ucfg_mlme_get_wmm_mean_data_rate_ac_bk(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *value)
|
||||
{
|
||||
return wlan_mlme_get_wmm_mean_data_rate_ac_bk(psoc, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* ucfg_mlme_get_wmm_min_phy_rate_ac_bk() - min PHY
|
||||
* rate for BE
|
||||
* @psoc: pointer to psoc object
|
||||
* @value: Value that needs to be set from the caller
|
||||
*
|
||||
* Inline UCFG API to be used by HDD/OSIF callers
|
||||
*
|
||||
* Return: QDF Status
|
||||
*/
|
||||
static inline QDF_STATUS
|
||||
ucfg_mlme_get_wmm_min_phy_rate_ac_bk(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *value)
|
||||
{
|
||||
return wlan_mlme_get_wmm_min_phy_rate_ac_bk(psoc, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* ucfg_mlme_get_wmm_sba_ac_bk() - surplus bandwidth
|
||||
* allowance for BE
|
||||
* @psoc: pointer to psoc object
|
||||
* @value: Value that needs to be set from the caller
|
||||
*
|
||||
* Inline UCFG API to be used by HDD/OSIF callers
|
||||
*
|
||||
* Return: QDF Status
|
||||
*/
|
||||
static inline QDF_STATUS
|
||||
ucfg_mlme_get_wmm_sba_ac_bk(struct wlan_objmgr_psoc *psoc, uint16_t *value)
|
||||
{
|
||||
return wlan_mlme_get_wmm_sba_ac_bk(psoc, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* ucfg_mlme_get_wmm_uapsd_bk_srv_intv() - Get Uapsd service
|
||||
* interval for BK
|
||||
* @psoc: pointer to psoc object
|
||||
* @value: pointer to the value which will be filled for the caller
|
||||
*
|
||||
* Inline UCFG API to be used by HDD/OSIF callers
|
||||
*
|
||||
* Return: QDF Status
|
||||
*/
|
||||
static inline QDF_STATUS
|
||||
ucfg_mlme_get_wmm_uapsd_bk_srv_intv(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *value)
|
||||
{
|
||||
return wlan_mlme_get_wmm_uapsd_bk_srv_intv(psoc, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* ucfg_mlme_get_wmm_uapsd_bk_sus_intv() - Get Uapsd suspension
|
||||
* interval for BK
|
||||
* @psoc: pointer to psoc object
|
||||
* @value: Value that needs to be set from the caller
|
||||
*
|
||||
* Inline UCFG API to be used by HDD/OSIF callers
|
||||
*
|
||||
* Return: QDF Status
|
||||
*/
|
||||
static inline QDF_STATUS
|
||||
ucfg_mlme_get_wmm_uapsd_bk_sus_intv(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *value)
|
||||
{
|
||||
return wlan_mlme_get_wmm_uapsd_bk_sus_intv(psoc, value);
|
||||
}
|
||||
|
||||
#endif /* _WLAN_MLME_UCFG_API_H_ */
|
||||
|
@@ -908,6 +908,122 @@ QDF_STATUS wlan_mlme_get_wmm_uapsd_be_sus_intv(struct wlan_objmgr_psoc *psoc,
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
wlan_mlme_get_wmm_dir_ac_bk(struct wlan_objmgr_psoc *psoc, uint8_t *value)
|
||||
{
|
||||
struct wlan_mlme_psoc_obj *mlme_obj;
|
||||
|
||||
mlme_obj = mlme_get_psoc_obj(psoc);
|
||||
if (!mlme_obj) {
|
||||
mlme_err("Failed to get MLME Obj");
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
*value = mlme_obj->cfg.wmm_params.ac_bk.dir_ac_bk;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS wlan_mlme_get_wmm_nom_msdu_size_ac_bk(struct wlan_objmgr_psoc *psoc,
|
||||
uint16_t *value)
|
||||
{
|
||||
struct wlan_mlme_psoc_obj *mlme_obj;
|
||||
|
||||
mlme_obj = mlme_get_psoc_obj(psoc);
|
||||
if (!mlme_obj) {
|
||||
mlme_err("Failed to get MLME Obj");
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
*value = mlme_obj->cfg.wmm_params.ac_bk.nom_msdu_size_ac_bk;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
wlan_mlme_get_wmm_mean_data_rate_ac_bk(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *value)
|
||||
{
|
||||
struct wlan_mlme_psoc_obj *mlme_obj;
|
||||
|
||||
mlme_obj = mlme_get_psoc_obj(psoc);
|
||||
if (!mlme_obj) {
|
||||
mlme_err("Failed to get MLME Obj");
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
*value = mlme_obj->cfg.wmm_params.ac_bk.mean_data_rate_ac_bk;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
wlan_mlme_get_wmm_min_phy_rate_ac_bk(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *value)
|
||||
{
|
||||
struct wlan_mlme_psoc_obj *mlme_obj;
|
||||
|
||||
mlme_obj = mlme_get_psoc_obj(psoc);
|
||||
if (!mlme_obj) {
|
||||
mlme_err("Failed to get MLME Obj");
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
*value = mlme_obj->cfg.wmm_params.ac_bk.min_phy_rate_ac_bk;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
wlan_mlme_get_wmm_sba_ac_bk(struct wlan_objmgr_psoc *psoc, uint16_t *value)
|
||||
{
|
||||
struct wlan_mlme_psoc_obj *mlme_obj;
|
||||
|
||||
mlme_obj = mlme_get_psoc_obj(psoc);
|
||||
if (!mlme_obj) {
|
||||
mlme_err("Failed to get MLME Obj");
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
*value = mlme_obj->cfg.wmm_params.ac_bk.sba_ac_bk;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
wlan_mlme_get_wmm_uapsd_bk_srv_intv(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *value)
|
||||
{
|
||||
struct wlan_mlme_psoc_obj *mlme_obj;
|
||||
|
||||
mlme_obj = mlme_get_psoc_obj(psoc);
|
||||
if (!mlme_obj) {
|
||||
mlme_err("Failed to get MLME Obj");
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
*value = mlme_obj->cfg.wmm_params.ac_bk.uapsd_bk_srv_intv;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
wlan_mlme_get_wmm_uapsd_bk_sus_intv(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *value)
|
||||
{
|
||||
struct wlan_mlme_psoc_obj *mlme_obj;
|
||||
|
||||
mlme_obj = mlme_get_psoc_obj(psoc);
|
||||
if (!mlme_obj) {
|
||||
mlme_err("Failed to get MLME Obj");
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
*value = mlme_obj->cfg.wmm_params.ac_bk.uapsd_bk_sus_intv;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS wlan_mlme_set_sap_listen_interval(struct wlan_objmgr_psoc *psoc,
|
||||
int value)
|
||||
{
|
||||
|
@@ -2741,161 +2741,6 @@ enum station_keepalive_method {
|
||||
#define CFG_QOS_IMPLICIT_SETUP_ENABLED_MAX (1)
|
||||
#define CFG_QOS_IMPLICIT_SETUP_ENABLED_DEFAULT (0)
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* InfraUapsdBkSrvIntv - Set Uapsd service interval for BK
|
||||
* @Min: 0
|
||||
* @Max: 4294967295UL
|
||||
* @Default: 300
|
||||
*
|
||||
* This ini is used to set Uapsd service interval for BK
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: WMM
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_NAME "InfraUapsdBkSrvIntv"
|
||||
#define CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MIN (0)
|
||||
#define CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MAX (4294967295UL)
|
||||
#define CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_DEFAULT (300)
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* InfraUapsdBkSuspIntv - Set Uapsd suspension interval for BK
|
||||
* @Min: 0
|
||||
* @Max: 4294967295UL
|
||||
* @Default: 2000
|
||||
*
|
||||
* This ini is used to set Uapsd suspension interval for BK
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: WMM
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_NAME "InfraUapsdBkSuspIntv"
|
||||
#define CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MIN (0)
|
||||
#define CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MAX (4294967295UL)
|
||||
#define CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_DEFAULT (2000)
|
||||
|
||||
/* default TSPEC parameters for AC_Bk*/
|
||||
/*
|
||||
* <ini>
|
||||
* InfraDirAcBk - Set TSPEC direction for BK
|
||||
* @Min: 0
|
||||
* @Max: 3
|
||||
* @Default: 3
|
||||
*
|
||||
* This ini is used to set TSPEC direction for BK
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: WMM
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_QOS_WMM_INFRA_DIR_AC_BK_NAME "InfraDirAcBk"
|
||||
#define CFG_QOS_WMM_INFRA_DIR_AC_BK_MIN (0)
|
||||
#define CFG_QOS_WMM_INFRA_DIR_AC_BK_MAX (3)
|
||||
#define CFG_QOS_WMM_INFRA_DIR_AC_BK_DEFAULT (3) /*WLAN_QCT_CUST_WMM_TSDIR_BOTH*/
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* InfraNomMsduSizeAcBk - Set normal MSDU size for BK
|
||||
* @Min: 0x0
|
||||
* @Max: 0xFFFF
|
||||
* @Default: 0x85DC
|
||||
*
|
||||
* This ini is used to set normal MSDU size for BK
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: WMM
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_NAME "InfraNomMsduSizeAcBk"
|
||||
#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MIN (0x0)
|
||||
#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MAX (0xFFFF)
|
||||
#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_DEFAULT (0x85DC)
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* InfraMeanDataRateAcBk - Set mean data rate for BK
|
||||
* @Min: 0x0
|
||||
* @Max: 0xFFFFFFFF
|
||||
* @Default: 0x493E0
|
||||
*
|
||||
* This ini is used to set mean data rate for BK
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: WMM
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_NAME "InfraMeanDataRateAcBk"
|
||||
#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MIN (0x0)
|
||||
#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MAX (0xFFFFFFFF)
|
||||
#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_DEFAULT (0x493E0)
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* InfraMinPhyRateAcBke - Set min PHY rate for BK
|
||||
* @Min: 0x0
|
||||
* @Max: 0xFFFFFFFF
|
||||
* @Default: 0x5B8D80
|
||||
*
|
||||
* This ini is used to set min PHY rate for BK
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: WMM
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_NAME "InfraMinPhyRateAcBk"
|
||||
#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MIN (0x0)
|
||||
#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MAX (0xFFFFFFFF)
|
||||
#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_DEFAULT (0x5B8D80)
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* InfraSbaAcBk - Set surplus bandwidth allowance for BK
|
||||
* @Min: 0x2001
|
||||
* @Max: 0xFFFF
|
||||
* @Default: 0x2001
|
||||
*
|
||||
* This ini is used to set surplus bandwidth allowance for BK
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: WMM
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_QOS_WMM_INFRA_SBA_AC_BK_NAME "InfraSbaAcBk"
|
||||
#define CFG_QOS_WMM_INFRA_SBA_AC_BK_MIN (0x2001)
|
||||
#define CFG_QOS_WMM_INFRA_SBA_AC_BK_MAX (0xFFFF)
|
||||
#define CFG_QOS_WMM_INFRA_SBA_AC_BK_DEFAULT (0x2001)
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* burstSizeDefinition - Set TS burst size
|
||||
@@ -6798,8 +6643,6 @@ struct hdd_config {
|
||||
enum hdd_wmm_user_mode WmmMode;
|
||||
bool b80211eIsEnabled;
|
||||
uint8_t UapsdMask; /* what ACs to setup U-APSD for at assoc */
|
||||
uint32_t InfraUapsdBkSrvIntv;
|
||||
uint32_t InfraUapsdBkSuspIntv;
|
||||
bool isFastRoamIniFeatureEnabled;
|
||||
bool MAWCEnabled;
|
||||
#ifdef FEATURE_WLAN_ESE
|
||||
@@ -6812,13 +6655,6 @@ struct hdd_config {
|
||||
bool isRoamOffloadScanEnabled;
|
||||
bool bImplicitQosEnabled;
|
||||
|
||||
/* default TSPEC parameters for AC_BK */
|
||||
enum sme_qos_wmm_dir_type InfraDirAcBk;
|
||||
uint16_t InfraNomMsduSizeAcBk;
|
||||
uint32_t InfraMeanDataRateAcBk;
|
||||
uint32_t InfraMinPhyRateAcBk;
|
||||
uint16_t InfraSbaAcBk;
|
||||
|
||||
uint32_t DelayedTriggerFrmInt;
|
||||
|
||||
char enableConcurrentSTA[CFG_CONCURRENT_IFACE_MAX_LEN];
|
||||
|
@@ -770,22 +770,6 @@ struct reg_table_entry g_registry_table[] = {
|
||||
CFG_QOS_WMM_UAPSD_MASK_MIN,
|
||||
CFG_QOS_WMM_UAPSD_MASK_MAX),
|
||||
|
||||
REG_VARIABLE(CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_NAME,
|
||||
WLAN_PARAM_Integer,
|
||||
struct hdd_config, InfraUapsdBkSrvIntv,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_DEFAULT,
|
||||
CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MIN,
|
||||
CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MAX),
|
||||
|
||||
REG_VARIABLE(CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_NAME,
|
||||
WLAN_PARAM_Integer,
|
||||
struct hdd_config, InfraUapsdBkSuspIntv,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_DEFAULT,
|
||||
CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MIN,
|
||||
CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MAX),
|
||||
|
||||
#ifdef FEATURE_WLAN_ESE
|
||||
REG_VARIABLE(CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_NAME,
|
||||
WLAN_PARAM_Integer,
|
||||
@@ -867,44 +851,6 @@ struct reg_table_entry g_registry_table[] = {
|
||||
CFG_ROAM_SCAN_OFFLOAD_ENABLED_MAX,
|
||||
cb_notify_update_roam_scan_offload_enabled, 0),
|
||||
|
||||
REG_VARIABLE(CFG_QOS_WMM_INFRA_DIR_AC_BK_NAME, WLAN_PARAM_Integer,
|
||||
struct hdd_config, InfraDirAcBk,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
CFG_QOS_WMM_INFRA_DIR_AC_BK_DEFAULT,
|
||||
CFG_QOS_WMM_INFRA_DIR_AC_BK_MIN,
|
||||
CFG_QOS_WMM_INFRA_DIR_AC_BK_MAX),
|
||||
|
||||
REG_VARIABLE(CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_NAME,
|
||||
WLAN_PARAM_HexInteger,
|
||||
struct hdd_config, InfraNomMsduSizeAcBk,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_DEFAULT,
|
||||
CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MIN,
|
||||
CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MAX),
|
||||
|
||||
REG_VARIABLE(CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_NAME,
|
||||
WLAN_PARAM_HexInteger,
|
||||
struct hdd_config, InfraMeanDataRateAcBk,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_DEFAULT,
|
||||
CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MIN,
|
||||
CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MAX),
|
||||
|
||||
REG_VARIABLE(CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_NAME,
|
||||
WLAN_PARAM_HexInteger,
|
||||
struct hdd_config, InfraMinPhyRateAcBk,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_DEFAULT,
|
||||
CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MIN,
|
||||
CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MAX),
|
||||
|
||||
REG_VARIABLE(CFG_QOS_WMM_INFRA_SBA_AC_BK_NAME, WLAN_PARAM_HexInteger,
|
||||
struct hdd_config, InfraSbaAcBk,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
CFG_QOS_WMM_INFRA_SBA_AC_BK_DEFAULT,
|
||||
CFG_QOS_WMM_INFRA_SBA_AC_BK_MIN,
|
||||
CFG_QOS_WMM_INFRA_SBA_AC_BK_MAX),
|
||||
|
||||
REG_VARIABLE(CFG_TL_DELAYED_TRGR_FRM_INT_NAME, WLAN_PARAM_Integer,
|
||||
struct hdd_config, DelayedTriggerFrmInt,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
|
@@ -1264,22 +1264,63 @@ static void __hdd_wmm_do_implicit_qos(struct work_struct *work)
|
||||
((WLAN_HDD_GET_CTX(adapter))->config->
|
||||
UapsdMask & SME_QOS_UAPSD_BK) ? 1 : 0;
|
||||
}
|
||||
qosInfo.ts_info.direction =
|
||||
(WLAN_HDD_GET_CTX(adapter))->config->InfraDirAcBk;
|
||||
|
||||
status = ucfg_mlme_get_wmm_dir_ac_bk(hdd_ctx->psoc, &dir_ac);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status)) {
|
||||
hdd_err("Get infra_dir_ac_bk failed");
|
||||
return;
|
||||
}
|
||||
qosInfo.ts_info.direction = dir_ac;
|
||||
|
||||
qosInfo.ts_info.tid = 255;
|
||||
qosInfo.mean_data_rate =
|
||||
(WLAN_HDD_GET_CTX(adapter))->config->
|
||||
InfraMeanDataRateAcBk;
|
||||
qosInfo.min_phy_rate =
|
||||
(WLAN_HDD_GET_CTX(adapter))->config->InfraMinPhyRateAcBk;
|
||||
qosInfo.min_service_interval =
|
||||
(WLAN_HDD_GET_CTX(adapter))->config->InfraUapsdBkSrvIntv;
|
||||
qosInfo.nominal_msdu_size =
|
||||
(WLAN_HDD_GET_CTX(adapter))->config->InfraNomMsduSizeAcBk;
|
||||
qosInfo.surplus_bw_allowance =
|
||||
(WLAN_HDD_GET_CTX(adapter))->config->InfraSbaAcBk;
|
||||
qosInfo.suspension_interval =
|
||||
(WLAN_HDD_GET_CTX(adapter))->config->InfraUapsdBkSuspIntv;
|
||||
status = ucfg_mlme_get_wmm_uapsd_bk_srv_intv(hdd_ctx->psoc,
|
||||
&uapsd_value);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status)) {
|
||||
hdd_err("Get uapsd_bk_srv_intv failed");
|
||||
return;
|
||||
}
|
||||
qosInfo.min_service_interval = uapsd_value;
|
||||
|
||||
status = ucfg_mlme_get_wmm_uapsd_bk_sus_intv(hdd_ctx->psoc,
|
||||
&uapsd_value);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status)) {
|
||||
hdd_err("Get uapsd_bk_sus_intv failed");
|
||||
return;
|
||||
}
|
||||
qosInfo.suspension_interval = uapsd_value;
|
||||
|
||||
status = ucfg_mlme_get_wmm_mean_data_rate_ac_bk(hdd_ctx->psoc,
|
||||
&rate_ac);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status)) {
|
||||
hdd_err("Get mean_data_rate_ac_bk failed");
|
||||
return;
|
||||
}
|
||||
qosInfo.mean_data_rate = rate_ac;
|
||||
|
||||
status = ucfg_mlme_get_wmm_min_phy_rate_ac_bk(hdd_ctx->psoc,
|
||||
&rate_ac);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status)) {
|
||||
hdd_err("Get min_phy_rate_ac_bk failed");
|
||||
return;
|
||||
}
|
||||
qosInfo.min_phy_rate = rate_ac;
|
||||
|
||||
status =
|
||||
ucfg_mlme_get_wmm_nom_msdu_size_ac_bk(hdd_ctx->psoc,
|
||||
&nom_msdu_size_ac);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status)) {
|
||||
hdd_err("Get nom_msdu_size_ac_bk failed");
|
||||
return;
|
||||
}
|
||||
qosInfo.nominal_msdu_size = nom_msdu_size_ac;
|
||||
|
||||
status = ucfg_mlme_get_wmm_sba_ac_bk(hdd_ctx->psoc, &sba_ac);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status)) {
|
||||
hdd_err("Get sba_ac_bk failed");
|
||||
return;
|
||||
}
|
||||
qosInfo.surplus_bw_allowance = sba_ac;
|
||||
|
||||
break;
|
||||
}
|
||||
#ifdef FEATURE_WLAN_ESE
|
||||
@@ -2028,12 +2069,23 @@ QDF_STATUS hdd_wmm_assoc(struct hdd_adapter *adapter,
|
||||
}
|
||||
|
||||
if (uapsdMask & HDD_AC_BK) {
|
||||
status =
|
||||
sme_enable_uapsd_for_ac((WLAN_HDD_GET_STATION_CTX_PTR
|
||||
(adapter))->conn_info.staId[0],
|
||||
SME_AC_BK, 2, 2,
|
||||
hdd_ctx->config->InfraUapsdBkSrvIntv,
|
||||
hdd_ctx->config->InfraUapsdBkSuspIntv,
|
||||
status = ucfg_mlme_get_wmm_uapsd_bk_srv_intv(hdd_ctx->psoc,
|
||||
&srv_value);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status)) {
|
||||
hdd_err("Get uapsd_bk_srv_intv failed");
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
status = ucfg_mlme_get_wmm_uapsd_bk_sus_intv(hdd_ctx->psoc,
|
||||
&sus_value);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status)) {
|
||||
hdd_err("Get uapsd_bk_sus_intv failed");
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
status = sme_enable_uapsd_for_ac(
|
||||
(WLAN_HDD_GET_STATION_CTX_PTR(
|
||||
adapter))->conn_info.staId[0],
|
||||
SME_AC_BK, 2, 2, srv_value, sus_value,
|
||||
SME_QOS_WMM_TS_DIR_BOTH, 1,
|
||||
adapter->session_id,
|
||||
hdd_ctx->config->DelayedTriggerFrmInt);
|
||||
@@ -2217,10 +2269,14 @@ QDF_STATUS hdd_wmm_get_uapsd_mask(struct hdd_adapter *adapter,
|
||||
uapsdMask &= ~HDD_AC_VI;
|
||||
}
|
||||
|
||||
if ((WLAN_HDD_GET_CTX(adapter))->config->
|
||||
InfraUapsdBkSrvIntv == 0) {
|
||||
uapsdMask &= ~HDD_AC_BK;
|
||||
status = ucfg_mlme_get_wmm_uapsd_bk_srv_intv(hdd_ctx->psoc,
|
||||
&uapsd_value);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status)) {
|
||||
hdd_err("Get uapsd_bk_srv_intv failed");
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
if (uapsd_value == 0)
|
||||
uapsdMask &= ~HDD_AC_BK;
|
||||
|
||||
status = ucfg_mlme_get_wmm_uapsd_be_srv_intv(hdd_ctx->psoc,
|
||||
&uapsd_value);
|
||||
|
Reference in New Issue
Block a user