qcacld-3.0: ADD MLME INI items of WMM AC_VO
Add the following WMM AC VO ini configs to MLME cfg: 1. CFG_QOS_WMM_INFRA_DIR_AC_VO_NAME 2. CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_NAME 3. CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_NAME 4. CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_NAME 5. CFG_QOS_WMM_INFRA_SBA_AC_VO_NAME 6. CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_NAME 7. CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_NAME Introduce the basic infra APIs related to these configs from mlme. Change-Id: I402ff46aad528d7c4bbaa794b6fba498439f8e97 CRs-Fixed: 2327048
This commit is contained in:
@@ -1131,6 +1131,19 @@ static void mlme_init_wmm_in_cfg(struct wlan_objmgr_psoc *psoc,
|
||||
wmm_params->max_sp_length = cfg_default(CFG_MAX_SP_LENGTH);
|
||||
wmm_params->wsm_enabled = cfg_default(CFG_WSM_ENABLED);
|
||||
wmm_params->edca_profile = cfg_default(CFG_EDCA_PROFILE);
|
||||
|
||||
wmm_params->ac_vo.dir_ac_vo = cfg_get(psoc, CFG_QOS_WMM_DIR_AC_VO);
|
||||
wmm_params->ac_vo.nom_msdu_size_ac_vo =
|
||||
cfg_get(psoc, CFG_QOS_WMM_NOM_MSDU_SIZE_AC_VO);
|
||||
wmm_params->ac_vo.mean_data_rate_ac_vo =
|
||||
cfg_get(psoc, CFG_QOS_WMM_MEAN_DATA_RATE_AC_VO);
|
||||
wmm_params->ac_vo.min_phy_rate_ac_vo =
|
||||
cfg_get(psoc, CFG_QOS_WMM_MIN_PHY_RATE_AC_VO);
|
||||
wmm_params->ac_vo.sba_ac_vo = cfg_get(psoc, CFG_QOS_WMM_SBA_AC_VO);
|
||||
wmm_params->ac_vo.uapsd_vo_srv_intv =
|
||||
cfg_get(psoc, CFG_QOS_WMM_UAPSD_VO_SRV_INTV);
|
||||
wmm_params->ac_vo.uapsd_vo_sus_intv =
|
||||
cfg_get(psoc, CFG_QOS_WMM_UAPSD_VO_SUS_INTV);
|
||||
}
|
||||
|
||||
QDF_STATUS mlme_cfg_on_psoc_enable(struct wlan_objmgr_psoc *psoc)
|
||||
|
@@ -54,11 +54,194 @@
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"Edca Profile")
|
||||
|
||||
/* default TSPEC parameters for AC_VO */
|
||||
/*
|
||||
* <ini>
|
||||
* InfraDirAcVo - Set TSPEC direction for VO
|
||||
* @Min: 0
|
||||
* @Max: 3
|
||||
* @Default: 3
|
||||
*
|
||||
* This ini is used to set TSPEC direction for VO
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: WMM
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_QOS_WMM_DIR_AC_VO CFG_INI_UINT( \
|
||||
"InfraDirAcVo", \
|
||||
0, \
|
||||
3, \
|
||||
3, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"direction for vo")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* InfraNomMsduSizeAcVo - Set normal MSDU size for VO
|
||||
* @Min: 0x0
|
||||
* @Max: 0xFFFF
|
||||
* @Default: 0x80D0
|
||||
*
|
||||
* This ini is used to set normal MSDU size for VO
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: WMM
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_QOS_WMM_NOM_MSDU_SIZE_AC_VO CFG_INI_UINT( \
|
||||
"InfraNomMsduSizeAcVo", \
|
||||
0x0, \
|
||||
0xFFFF, \
|
||||
0x80D0, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"MSDU size for VO")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* InfraMeanDataRateAcVo - Set mean data rate for VO
|
||||
* @Min: 0x0
|
||||
* @Max: 0xFFFFFFFF
|
||||
* @Default: 0x14500
|
||||
*
|
||||
* This ini is used to set mean data rate for VO
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: WMM
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_QOS_WMM_MEAN_DATA_RATE_AC_VO CFG_INI_UINT( \
|
||||
"InfraMeanDataRateAcVo", \
|
||||
0x0, \
|
||||
0xFFFFFFFF, \
|
||||
0x14500, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"mean data rate for VO")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* InfraMinPhyRateAcVo - Set min PHY rate for VO
|
||||
* @Min: 0x0
|
||||
* @Max: 0xFFFFFFFF
|
||||
* @Default: 0x5B8D80
|
||||
*
|
||||
* This ini is used to set min PHY rate for VO
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: WMM
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_QOS_WMM_MIN_PHY_RATE_AC_VO CFG_INI_UINT( \
|
||||
"InfraMinPhyRateAcVo", \
|
||||
0x0, \
|
||||
0xFFFFFFFF, \
|
||||
0x5B8D80, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"min PHY rate for VO")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* InfraSbaAcVo - Set surplus bandwidth allowance for VO
|
||||
* @Min: 0x2001
|
||||
* @Max: 0xFFFF
|
||||
* @Default: 0x2001
|
||||
*
|
||||
* This ini is used to set surplus bandwidth allowance for VO
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: WMM
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_QOS_WMM_SBA_AC_VO CFG_INI_UINT( \
|
||||
"InfraSbaAcVo", \
|
||||
0x2001, \
|
||||
0xFFFF, \
|
||||
0x2001, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"surplus bandwidth allowance for VO")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* InfraUapsdVoSrvIntv - Set Uapsd service interval for voice
|
||||
* @Min: 0
|
||||
* @Max: 4294967295UL
|
||||
* @Default: 20
|
||||
*
|
||||
* This ini is used to set Uapsd service interval for voice.
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: WMM
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_QOS_WMM_UAPSD_VO_SRV_INTV CFG_INI_UINT( \
|
||||
"InfraUapsdVoSrvIntv", \
|
||||
0, \
|
||||
4294967295UL, \
|
||||
20, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"Infra uapsd vo srv intv")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* InfraUapsdVoSuspIntv - Set Uapsd suspension interval for voice
|
||||
* @Min: 0
|
||||
* @Max: 4294967295UL
|
||||
* @Default: 2000
|
||||
*
|
||||
* This ini is used to set Uapsd suspension interval for voice.
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: WMM
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_QOS_WMM_UAPSD_VO_SUS_INTV CFG_INI_UINT( \
|
||||
"InfraUapsdVoSuspIntv", \
|
||||
0, \
|
||||
4294967295UL, \
|
||||
2000, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"Infra uapsd vo sus intv")
|
||||
|
||||
#define CFG_WMM_PARAMS_ALL \
|
||||
CFG(CFG_QOS_ENABLED) \
|
||||
CFG(CFG_WME_ENABLED) \
|
||||
CFG(CFG_MAX_SP_LENGTH) \
|
||||
CFG(CFG_WSM_ENABLED) \
|
||||
CFG(CFG_EDCA_PROFILE)
|
||||
CFG(CFG_EDCA_PROFILE) \
|
||||
CFG(CFG_QOS_WMM_DIR_AC_VO) \
|
||||
CFG(CFG_QOS_WMM_NOM_MSDU_SIZE_AC_VO) \
|
||||
CFG(CFG_QOS_WMM_MEAN_DATA_RATE_AC_VO) \
|
||||
CFG(CFG_QOS_WMM_MIN_PHY_RATE_AC_VO) \
|
||||
CFG(CFG_QOS_WMM_SBA_AC_VO) \
|
||||
CFG(CFG_QOS_WMM_UAPSD_VO_SRV_INTV) \
|
||||
CFG(CFG_QOS_WMM_UAPSD_VO_SUS_INTV)
|
||||
|
||||
#endif /* __CFG_MLME_FE_WMM_H */
|
||||
|
@@ -538,6 +538,61 @@ QDF_STATUS wlan_mlme_get_fils_enabled_info(struct wlan_objmgr_psoc *psoc,
|
||||
QDF_STATUS wlan_mlme_set_fils_enabled_info(struct wlan_objmgr_psoc *psoc,
|
||||
bool value);
|
||||
|
||||
/**
|
||||
* wlan_mlme_get_wmm_dir_ac_vo() - Get TSPEC direction
|
||||
* for VO
|
||||
* @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_vo(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t *value);
|
||||
|
||||
/**
|
||||
* wlan_mlme_get_wmm_nom_msdu_size_ac_vo() - Get normal
|
||||
* MSDU size for VO
|
||||
* @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_vo(struct wlan_objmgr_psoc *psoc,
|
||||
uint16_t *value);
|
||||
|
||||
/**
|
||||
* wlan_mlme_get_wmm_mean_data_rate_ac_vo() - mean data rate for VO
|
||||
* @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_vo(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *value);
|
||||
/**
|
||||
* wlan_mlme_get_wmm_min_phy_rate_ac_vo() - min PHY
|
||||
* rate for VO
|
||||
* @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_vo(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *value);
|
||||
/**
|
||||
* wlan_mlme_get_wmm_sba_ac_vo() - surplus bandwidth allowance for VO
|
||||
* @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_vo(struct wlan_objmgr_psoc *psoc, uint16_t *value);
|
||||
|
||||
/**
|
||||
* wlan_mlme_set_enable_bcast_probe_rsp() - Set enable bcast probe resp info
|
||||
* @psoc: pointer to psoc object
|
||||
@@ -547,4 +602,29 @@ QDF_STATUS wlan_mlme_set_fils_enabled_info(struct wlan_objmgr_psoc *psoc,
|
||||
*/
|
||||
QDF_STATUS wlan_mlme_set_enable_bcast_probe_rsp(struct wlan_objmgr_psoc *psoc,
|
||||
bool value);
|
||||
|
||||
/**
|
||||
* wlan_mlme_get_wmm_uapsd_vo_srv_intv() - Get Uapsd service
|
||||
* interval for voice
|
||||
* @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_vo_srv_intv(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *value);
|
||||
|
||||
/**
|
||||
* wlan_mlme_get_wmm_uapsd_vo_sus_intv() - Get Uapsd suspension
|
||||
* interval for voice
|
||||
* @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_vo_sus_intv(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *value);
|
||||
|
||||
#endif /* _WLAN_MLME_API_H_ */
|
||||
|
@@ -835,12 +835,33 @@ struct wlan_mlme_lfr_cfg {
|
||||
};
|
||||
|
||||
/**
|
||||
* struct wlan_mlme_wmm_params - WMM CFG Items
|
||||
* struct wlan_mlme_wmm_ac_vo - Default TSPEC parameters
|
||||
* for AC_VO
|
||||
* @dir_ac_vo: TSPEC direction for VO
|
||||
* @nom_msdu_size_ac_vo: normal MSDU size for VO
|
||||
* @mean_data_rate_ac_vo: mean data rate for VO
|
||||
* @min_phy_rate_ac_vo: min PHY rate for VO
|
||||
* @sba_ac_vo: surplus bandwidth allowance for VO
|
||||
* @uapsd_vo_srv_intv: Uapsd service interval for voice
|
||||
* @uapsd_vo_sus_intv: Uapsd suspension interval for voice
|
||||
*/
|
||||
struct wlan_mlme_wmm_ac_vo {
|
||||
uint8_t dir_ac_vo;
|
||||
uint16_t nom_msdu_size_ac_vo;
|
||||
uint32_t mean_data_rate_ac_vo;
|
||||
uint32_t min_phy_rate_ac_vo;
|
||||
uint16_t sba_ac_vo;
|
||||
uint32_t uapsd_vo_srv_intv;
|
||||
uint32_t uapsd_vo_sus_intv;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct wlan_mlme_wmm_params - WMM CFG Items
|
||||
* @qos_enabled: AP is enabled with 11E
|
||||
* @wme_enabled: AP is enabled with WMM
|
||||
* @max_sp_length: Maximum SP Length
|
||||
* @wsm_enabled: AP is enabled with WSM
|
||||
* @edca_profile: edca profile id
|
||||
* @ac_vo: Default TSPEC parameters for AC_VO
|
||||
*/
|
||||
struct wlan_mlme_wmm_params {
|
||||
bool qos_enabled;
|
||||
@@ -848,6 +869,7 @@ struct wlan_mlme_wmm_params {
|
||||
uint8_t max_sp_length;
|
||||
bool wsm_enabled;
|
||||
uint32_t edca_profile;
|
||||
struct wlan_mlme_wmm_ac_vo ac_vo;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -1082,7 +1104,7 @@ struct wlan_mlme_wep_cfg {
|
||||
* @acs: ACS related CFG items
|
||||
* @feature_flags: Feature flag config items
|
||||
* @wep_params: WEP related config items
|
||||
* @wmm_params: WMM related CFG Items
|
||||
* @wmm_params: WMM related CFG & INI Items
|
||||
*/
|
||||
struct wlan_mlme_cfg {
|
||||
struct wlan_mlme_chainmask chainmask_cfg;
|
||||
|
@@ -168,7 +168,6 @@ QDF_STATUS ucfg_mlme_get_acs_with_more_param(struct wlan_objmgr_psoc *psoc,
|
||||
|
||||
/**
|
||||
* ucfg_mlme_get_auto_channel_weight() - Get the auto channel select weight
|
||||
*
|
||||
* @psoc: pointer to psoc object
|
||||
* @value: Value that needs to be set from the caller
|
||||
*
|
||||
@@ -234,6 +233,123 @@ ucfg_mlme_get_acs_support_for_dfs_ltecoex(struct wlan_objmgr_psoc *psoc,
|
||||
return wlan_mlme_get_acs_support_for_dfs_ltecoex(psoc, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* ucfg_mlme_get_wmm_dir_ac_vo() - Get TSPEC direction for VO
|
||||
* @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_vo(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t *value)
|
||||
{
|
||||
return wlan_mlme_get_wmm_dir_ac_vo(psoc, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* ucfg_mlme_get_wmm_nom_msdu_size_ac_vo() - Get normal
|
||||
* MSDU size for VO
|
||||
* @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_vo(struct wlan_objmgr_psoc *psoc,
|
||||
uint16_t *value)
|
||||
{
|
||||
return wlan_mlme_get_wmm_nom_msdu_size_ac_vo(psoc, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* ucfg_mlme_get_wmm_mean_data_rate_ac_vo() - mean data rate for VO
|
||||
* @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_vo(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *value)
|
||||
{
|
||||
return wlan_mlme_get_wmm_mean_data_rate_ac_vo(psoc, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* ucfg_mlme_get_wmm_min_phy_rate_ac_vo() - min PHY
|
||||
* rate for VO
|
||||
* @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_vo(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *value)
|
||||
{
|
||||
return wlan_mlme_get_wmm_min_phy_rate_ac_vo(psoc, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* ucfg_mlme_get_wmm_sba_ac_vo() - surplus bandwidth
|
||||
* allowance for VO
|
||||
* @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_vo(struct wlan_objmgr_psoc *psoc,
|
||||
uint16_t *value)
|
||||
{
|
||||
return wlan_mlme_get_wmm_sba_ac_vo(psoc, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* ucfg_mlme_get_wmm_uapsd_vo_srv_intv() - Get Uapsd service
|
||||
* interval for voice
|
||||
* @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_vo_srv_intv(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *value)
|
||||
{
|
||||
return wlan_mlme_get_wmm_uapsd_vo_srv_intv(psoc, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* ucfg_mlme_get_wmm_uapsd_vo_sus_intv() - Get Uapsd suspension
|
||||
* interval for voice
|
||||
* @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_vo_sus_intv(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *value)
|
||||
{
|
||||
return wlan_mlme_get_wmm_uapsd_vo_sus_intv(psoc, value);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* ucfg_mlme_get_sap_inactivity_override() - Check if sap max inactivity
|
||||
|
@@ -349,6 +349,7 @@ wlan_mlme_get_model_number(struct wlan_objmgr_psoc *psoc,
|
||||
*plen = qdf_str_lcopy(pbuf,
|
||||
mlme_obj->cfg.product_details.model_number,
|
||||
*plen);
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -363,7 +364,6 @@ wlan_mlme_get_model_name(struct wlan_objmgr_psoc *psoc,
|
||||
mlme_err("Failed to get MLME Obj");
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
*plen = qdf_str_lcopy(pbuf,
|
||||
mlme_obj->cfg.product_details.model_name,
|
||||
*plen);
|
||||
@@ -406,6 +406,117 @@ wlan_mlme_get_manufacture_product_name(struct wlan_objmgr_psoc *psoc,
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS wlan_mlme_get_wmm_dir_ac_vo(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_vo.dir_ac_vo;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
QDF_STATUS wlan_mlme_get_wmm_nom_msdu_size_ac_vo(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_vo.nom_msdu_size_ac_vo;
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
wlan_mlme_get_wmm_mean_data_rate_ac_vo(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_vo.mean_data_rate_ac_vo;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS wlan_mlme_get_wmm_min_phy_rate_ac_vo(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_vo.min_phy_rate_ac_vo;
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS wlan_mlme_get_wmm_sba_ac_vo(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_vo.sba_ac_vo;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS wlan_mlme_get_wmm_uapsd_vo_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_vo.uapsd_vo_srv_intv;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS wlan_mlme_get_wmm_uapsd_vo_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_vo.uapsd_vo_sus_intv;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS wlan_mlme_set_sap_listen_interval(struct wlan_objmgr_psoc *psoc,
|
||||
int value)
|
||||
{
|
||||
|
@@ -298,4 +298,3 @@ ucfg_mlme_get_first_scan_bucket_threshold(struct wlan_objmgr_psoc *psoc,
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user