qcacld-3.0: ADD MLME INI items of WMM Config
Add the following WMM config ini configs to MLME cfg: 1. CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_NAME 2. CFG_QOS_WMM_BURST_SIZE_DEFN_NAME 3. CFG_QOS_WMM_TS_INFO_ACK_POLICY_NAME 4. CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_NAME Introduce the basic infra APIs related to these configs from mlme. Change-Id: I149971768a7193099926e2778f093dcd073f0461 CRs-Fixed: 2327692
This commit is contained in:
@@ -1539,6 +1539,21 @@ static void mlme_init_wep_cfg(struct wlan_mlme_wep_cfg *wep_params)
|
||||
mlme_init_wep_keys(wep_params);
|
||||
}
|
||||
|
||||
#ifdef FEATURE_WLAN_ESE
|
||||
static void mlme_init_inactivity_intv(struct wlan_objmgr_psoc *psoc,
|
||||
struct wlan_mlme_wmm_params *wmm_params)
|
||||
{
|
||||
wmm_params->wmm_tspec_element.inactivity_intv =
|
||||
cfg_get(psoc, CFG_QOS_WMM_INACTIVITY_INTERVAL);
|
||||
}
|
||||
#else
|
||||
static inline void
|
||||
mlme_init_inactivity_intv(struct wlan_objmgr_psoc *psoc,
|
||||
struct wlan_mlme_wmm_params *wmm_params)
|
||||
{
|
||||
}
|
||||
#endif /* FEATURE_WLAN_ESE */
|
||||
|
||||
static void mlme_init_wmm_in_cfg(struct wlan_objmgr_psoc *psoc,
|
||||
struct wlan_mlme_wmm_params *wmm_params)
|
||||
{
|
||||
@@ -1614,6 +1629,14 @@ static void mlme_init_wmm_in_cfg(struct wlan_objmgr_psoc *psoc,
|
||||
cfg_get(psoc, CFG_QOS_WMM_UAPSD_MASK);
|
||||
wmm_params->wmm_config.bimplicit_qos_enabled =
|
||||
cfg_get(psoc, CFG_QOS_WMM_IMPLICIT_SETUP_ENABLED);
|
||||
|
||||
mlme_init_inactivity_intv(psoc, wmm_params);
|
||||
wmm_params->wmm_tspec_element.burst_size_def =
|
||||
cfg_get(psoc, CFG_QOS_WMM_BURST_SIZE_DEFN);
|
||||
wmm_params->wmm_tspec_element.ts_ack_policy =
|
||||
cfg_get(psoc, CFG_QOS_WMM_TS_INFO_ACK_POLICY);
|
||||
wmm_params->wmm_tspec_element.ts_acm_is_off =
|
||||
cfg_get(psoc, CFG_QOS_ADDTS_WHEN_ACM_IS_OFF);
|
||||
}
|
||||
|
||||
static void mlme_init_wps_params_cfg(struct wlan_objmgr_psoc *psoc,
|
||||
|
@@ -778,7 +778,7 @@
|
||||
"WmmIsEnabled", \
|
||||
0, \
|
||||
2, \
|
||||
2, \
|
||||
0, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"Enable WMM feature")
|
||||
|
||||
@@ -851,6 +851,115 @@
|
||||
0, \
|
||||
"Enable implicit QOS")
|
||||
|
||||
#ifdef FEATURE_WLAN_ESE
|
||||
/*
|
||||
* <ini>
|
||||
* UapsdMask - To setup Infra Inactivity Interval for ACs
|
||||
* @Min: 0
|
||||
* @Max: 4294967295UL
|
||||
* @Default: 0
|
||||
*
|
||||
* This ini is used to setup Infra Inactivity Interval for
|
||||
* ACs.
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: WMM
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_QOS_WMM_INACTIVITY_INTERVAL CFG_INI_UINT( \
|
||||
"InfraInactivityInterval", \
|
||||
0, \
|
||||
4294967295UL, \
|
||||
0, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"Infra Inactivity Interval")
|
||||
|
||||
#define QOS_CFG CFG(CFG_QOS_WMM_INACTIVITY_INTERVAL)
|
||||
#else
|
||||
|
||||
#define QOS_CFG
|
||||
|
||||
#endif /* FEATURE_WLAN_ESE */
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* burstSizeDefinition - Set TS burst size
|
||||
* @Min: 0
|
||||
* @Max: 1
|
||||
* @Default: 0
|
||||
*
|
||||
* This ini is used to set TS burst size
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: WMM
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_QOS_WMM_BURST_SIZE_DEFN CFG_INI_BOOL( \
|
||||
"burstSizeDefinition", \
|
||||
0, \
|
||||
"burst size definition")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* tsInfoAckPolicy - Set TS ack policy
|
||||
* @Min: 0x00
|
||||
* @Max: 0x01
|
||||
* @Default: 0x00
|
||||
*
|
||||
* This ini is used to set TS ack policy
|
||||
* TS Info Ack Policy can be either of the
|
||||
* following values:
|
||||
* enum mlme_ts_info_ack_policy {
|
||||
* TS_INFO_ACK_POLICY_NORMAL_ACK = 0,
|
||||
* TS_INFO_ACK_POLICY_HT_IMMEDIATE_BLOCK_ACK = 1,
|
||||
* }
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: WMM
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_QOS_WMM_TS_INFO_ACK_POLICY CFG_INI_UINT( \
|
||||
"tsInfoAckPolicy", \
|
||||
0, \
|
||||
1, \
|
||||
0, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"ts info ack policy")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gAddTSWhenACMIsOff - Set ACM value for AC
|
||||
* @Min: 0
|
||||
* @Max: 1
|
||||
* @Default: 0
|
||||
*
|
||||
* This ini is used to set ACM value for AC
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: WMM
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_QOS_ADDTS_WHEN_ACM_IS_OFF CFG_INI_BOOL( \
|
||||
"gAddTSWhenACMIsOff", \
|
||||
0, \
|
||||
"ACM value for AC")
|
||||
|
||||
#define CFG_WMM_PARAMS_ALL \
|
||||
CFG(CFG_QOS_ENABLED) \
|
||||
CFG(CFG_WME_ENABLED) \
|
||||
@@ -888,6 +997,10 @@
|
||||
CFG(CFG_QOS_WMM_MODE) \
|
||||
CFG(CFG_QOS_WMM_80211E_ENABLED) \
|
||||
CFG(CFG_QOS_WMM_UAPSD_MASK) \
|
||||
CFG(CFG_QOS_WMM_IMPLICIT_SETUP_ENABLED)
|
||||
CFG(CFG_QOS_WMM_IMPLICIT_SETUP_ENABLED) \
|
||||
QOS_CFG \
|
||||
CFG(CFG_QOS_WMM_BURST_SIZE_DEFN) \
|
||||
CFG(CFG_QOS_WMM_TS_INFO_ACK_POLICY) \
|
||||
CFG(CFG_QOS_ADDTS_WHEN_ACM_IS_OFF)
|
||||
|
||||
#endif /* __CFG_MLME_FE_WMM_H */
|
||||
|
@@ -1062,6 +1062,48 @@ QDF_STATUS
|
||||
wlan_mlme_get_implicit_qos_is_enabled(struct wlan_objmgr_psoc *psoc,
|
||||
bool *value);
|
||||
|
||||
#ifdef FEATURE_WLAN_ESE
|
||||
/**
|
||||
* wlan_mlme_get_inactivity_interval() - Infra Inactivity Interval
|
||||
* @psoc: pointer to psoc object
|
||||
* @value: pointer to the value which will be filled for the caller
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void wlan_mlme_get_inactivity_interval(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *value);
|
||||
#endif
|
||||
|
||||
/**
|
||||
* wlan_mlme_get_is_ts_burst_size_enable() - Get TS burst size flag
|
||||
* @psoc: pointer to psoc object
|
||||
* @value: pointer to the value which will be filled for the caller
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void wlan_mlme_get_is_ts_burst_size_enable(struct wlan_objmgr_psoc *psoc,
|
||||
bool *value);
|
||||
|
||||
/**
|
||||
* wlan_mlme_get_ts_info_ack_policy() - Get TS ack policy
|
||||
* @psoc: pointer to psoc object
|
||||
* @value: pointer to the value which will be filled for the caller
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void wlan_mlme_get_ts_info_ack_policy(struct wlan_objmgr_psoc *psoc,
|
||||
enum mlme_ts_info_ack_policy *value);
|
||||
|
||||
/**
|
||||
* wlan_mlme_get_ts_acm_value_for_ac() - Get ACM value for AC
|
||||
* @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_ts_acm_value_for_ac(struct wlan_objmgr_psoc *psoc, bool *value);
|
||||
|
||||
/**
|
||||
* wlan_mlme_get_wmm_dir_ac_vo() - Get TSPEC direction
|
||||
* for VO
|
||||
|
@@ -176,6 +176,16 @@ struct mlme_edca_ac_be {
|
||||
uint32_t be_aifs;
|
||||
};
|
||||
|
||||
/**
|
||||
* enum mlme_ts_info_ack_policy - TS Info Ack Policy
|
||||
* @TS_INFO_ACK_POLICY_NORMAL_ACK:normal ack
|
||||
* @TS_INFO_ACK_POLICY_HT_IMMEDIATE_BLOCK_ACK: HT immediate block ack
|
||||
*/
|
||||
enum mlme_ts_info_ack_policy {
|
||||
TS_INFO_ACK_POLICY_NORMAL_ACK = 0,
|
||||
TS_INFO_ACK_POLICY_HT_IMMEDIATE_BLOCK_ACK = 1,
|
||||
};
|
||||
|
||||
/**
|
||||
* struct mlme_edca_params - EDCA pramaters related config items
|
||||
*
|
||||
@@ -1114,6 +1124,23 @@ struct wlan_mlme_wmm_config {
|
||||
bool bimplicit_qos_enabled;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct wlan_mlme_wmm_tspec_element - Default TSPEC parameters
|
||||
* from the wmm spec
|
||||
* @inactivity_interval: inactivity_interval as per wmm spec
|
||||
* @burst_size_def: TS burst size
|
||||
* @ts_ack_policy: TS Info ACK policy
|
||||
* @ts_acm_is_off: ACM is off for AC
|
||||
*/
|
||||
struct wlan_mlme_wmm_tspec_element {
|
||||
#ifdef FEATURE_WLAN_ESE
|
||||
uint32_t inactivity_intv;
|
||||
#endif
|
||||
bool burst_size_def;
|
||||
enum mlme_ts_info_ack_policy ts_ack_policy;
|
||||
bool ts_acm_is_off;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct wlan_mlme_wmm_ac_vo - Default TSPEC parameters
|
||||
* for AC_VO
|
||||
@@ -1206,6 +1233,9 @@ struct wlan_mlme_wmm_ac_bk {
|
||||
* @wme_enabled: AP is enabled with WMM
|
||||
* @max_sp_length: Maximum SP Length
|
||||
* @wsm_enabled: AP is enabled with WSM
|
||||
* @edca_profile: WMM Edca profile
|
||||
* @wmm_config: WMM configuration
|
||||
* @wmm_tspec_element: Default TSPEC parameters
|
||||
* @ac_vo: Default TSPEC parameters for AC_VO
|
||||
* @ac_vi: Default TSPEC parameters for AC_VI
|
||||
* @ac_be: Default TSPEC parameters for AC_BE
|
||||
@@ -1218,6 +1248,7 @@ struct wlan_mlme_wmm_params {
|
||||
bool wsm_enabled;
|
||||
uint32_t edca_profile;
|
||||
struct wlan_mlme_wmm_config wmm_config;
|
||||
struct wlan_mlme_wmm_tspec_element wmm_tspec_element;
|
||||
struct wlan_mlme_wmm_ac_vo ac_vo;
|
||||
struct wlan_mlme_wmm_ac_vi ac_vi;
|
||||
struct wlan_mlme_wmm_ac_be ac_be;
|
||||
|
@@ -2359,4 +2359,69 @@ ucfg_mlme_get_implicit_qos_is_enabled(struct wlan_objmgr_psoc *psoc,
|
||||
return wlan_mlme_get_implicit_qos_is_enabled(psoc, value);
|
||||
}
|
||||
|
||||
#ifdef FEATURE_WLAN_ESE
|
||||
/**
|
||||
* ucfg_mlme_get_inactivity_interval() - Infra Inactivity Interval
|
||||
* @psoc: pointer to psoc object
|
||||
* @value: Value that needs to be get from the caller
|
||||
*
|
||||
* Inline UCFG API to be used by HDD/OSIF callers
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
static inline void
|
||||
ucfg_mlme_get_inactivity_interval(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *value)
|
||||
{
|
||||
wlan_mlme_get_inactivity_interval(psoc, value);
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* ucfg_mlme_get_is_ts_burst_size_enable() - Get TS burst size flag
|
||||
* @psoc: pointer to psoc object
|
||||
* @value: Value that needs to be get from the caller
|
||||
*
|
||||
* Inline UCFG API to be used by HDD/OSIF callers
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
static inline void
|
||||
ucfg_mlme_get_is_ts_burst_size_enable(struct wlan_objmgr_psoc *psoc,
|
||||
bool *value)
|
||||
{
|
||||
wlan_mlme_get_is_ts_burst_size_enable(psoc, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* ucfg_mlme_get_ts_info_ack_policy() - Get TS ack policy
|
||||
* @psoc: pointer to psoc object
|
||||
* @value: Value that needs to be get from the caller
|
||||
*
|
||||
* Inline UCFG API to be used by HDD/OSIF callers
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
static inline void
|
||||
ucfg_mlme_get_ts_info_ack_policy(struct wlan_objmgr_psoc *psoc,
|
||||
enum mlme_ts_info_ack_policy *value)
|
||||
{
|
||||
wlan_mlme_get_ts_info_ack_policy(psoc, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* ucfg_mlme_get_ts_acm_value_for_ac() - Get ACM value for AC
|
||||
* @psoc: pointer to psoc object
|
||||
* @value: Value that needs to be get from the caller
|
||||
*
|
||||
* Inline UCFG API to be used by HDD/OSIF callers
|
||||
*
|
||||
* Return: QDF Status
|
||||
*/
|
||||
static inline QDF_STATUS
|
||||
ucfg_mlme_get_ts_acm_value_for_ac(struct wlan_objmgr_psoc *psoc, bool *value)
|
||||
{
|
||||
return wlan_mlme_get_ts_acm_value_for_ac(psoc, value);
|
||||
}
|
||||
|
||||
#endif /* _WLAN_MLME_UCFG_API_H_ */
|
||||
|
@@ -1527,6 +1527,70 @@ wlan_mlme_get_implicit_qos_is_enabled(struct wlan_objmgr_psoc *psoc,
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
#ifdef FEATURE_WLAN_ESE
|
||||
void wlan_mlme_get_inactivity_interval(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");
|
||||
*value = cfg_default(CFG_QOS_WMM_INACTIVITY_INTERVAL);
|
||||
return;
|
||||
}
|
||||
|
||||
*value = mlme_obj->cfg.wmm_params.wmm_tspec_element.inactivity_intv;
|
||||
}
|
||||
#endif
|
||||
|
||||
void wlan_mlme_get_is_ts_burst_size_enable(struct wlan_objmgr_psoc *psoc,
|
||||
bool *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");
|
||||
*value = cfg_default(CFG_QOS_WMM_BURST_SIZE_DEFN);
|
||||
return;
|
||||
}
|
||||
|
||||
*value = mlme_obj->cfg.wmm_params.wmm_tspec_element.burst_size_def;
|
||||
}
|
||||
|
||||
void wlan_mlme_get_ts_info_ack_policy(struct wlan_objmgr_psoc *psoc,
|
||||
enum mlme_ts_info_ack_policy *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");
|
||||
*value = cfg_default(CFG_QOS_WMM_TS_INFO_ACK_POLICY);
|
||||
return;
|
||||
}
|
||||
|
||||
*value = mlme_obj->cfg.wmm_params.wmm_tspec_element.ts_ack_policy;
|
||||
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
wlan_mlme_get_ts_acm_value_for_ac(struct wlan_objmgr_psoc *psoc, bool *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.wmm_tspec_element.ts_acm_is_off;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS wlan_mlme_set_sap_listen_interval(struct wlan_objmgr_psoc *psoc,
|
||||
int value)
|
||||
{
|
||||
|
@@ -2731,50 +2731,6 @@ enum station_keepalive_method {
|
||||
#define CFG_QOS_IMPLICIT_SETUP_ENABLED_MAX (1)
|
||||
#define CFG_QOS_IMPLICIT_SETUP_ENABLED_DEFAULT (0)
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* burstSizeDefinition - Set TS burst size
|
||||
* @Min: 0
|
||||
* @Max: 1
|
||||
* @Default: 0
|
||||
*
|
||||
* This ini is used to set TS burst size
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: WMM
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_QOS_WMM_BURST_SIZE_DEFN_NAME "burstSizeDefinition"
|
||||
#define CFG_QOS_WMM_BURST_SIZE_DEFN_MIN (0)
|
||||
#define CFG_QOS_WMM_BURST_SIZE_DEFN_MAX (1)
|
||||
#define CFG_QOS_WMM_BURST_SIZE_DEFN_DEFAULT (0)
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* tsInfoAckPolicy - Set TS ack policy
|
||||
* @Min: 0x00
|
||||
* @Max: 0x01
|
||||
* @Default: 0x00
|
||||
*
|
||||
* This ini is used to set TS ack policy
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: WMM
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_QOS_WMM_TS_INFO_ACK_POLICY_NAME "tsInfoAckPolicy"
|
||||
#define CFG_QOS_WMM_TS_INFO_ACK_POLICY_MIN (0x00)
|
||||
#define CFG_QOS_WMM_TS_INFO_ACK_POLICY_MAX (0x01)
|
||||
#define CFG_QOS_WMM_TS_INFO_ACK_POLICY_DEFAULT (0x00)
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gAddTSWhenACMIsOff - Set ACM value for AC
|
||||
@@ -2799,30 +2755,6 @@ enum station_keepalive_method {
|
||||
#define CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_DEFAULT (0)
|
||||
|
||||
#ifdef FEATURE_WLAN_ESE
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* InfraInactivityInterval - WMM inactivity interval
|
||||
* @Min: 0
|
||||
* @Max: 4294967295
|
||||
* @Default: 0
|
||||
*
|
||||
* This ini is used to set the value of inactivity interval for WMM TSPEC.
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: WMM/ESE
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
|
||||
#define CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_NAME "InfraInactivityInterval"
|
||||
#define CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MIN (0)
|
||||
#define CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MAX (4294967295UL)
|
||||
#define CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_DEFAULT (0) /* disabled */
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* EseEnabled - Enable ESE
|
||||
@@ -6532,7 +6464,6 @@ struct hdd_config {
|
||||
bool isFastRoamIniFeatureEnabled;
|
||||
bool MAWCEnabled;
|
||||
#ifdef FEATURE_WLAN_ESE
|
||||
uint32_t InfraInactivityInterval;
|
||||
bool isEseIniFeatureEnabled;
|
||||
#endif
|
||||
bool isFastTransitionEnabled;
|
||||
@@ -6554,10 +6485,6 @@ struct hdd_config {
|
||||
#ifdef FEATURE_WLAN_SCAN_PNO
|
||||
bool PnoOffload;
|
||||
#endif
|
||||
bool burstSizeDefinition;
|
||||
uint8_t tsInfoAckPolicy;
|
||||
|
||||
bool AddTSWhenACMIsOff;
|
||||
|
||||
/* QDF Trace Control*/
|
||||
uint16_t qdf_trace_enable_wdi;
|
||||
|
@@ -137,12 +137,6 @@ typedef enum {
|
||||
HDD_WLAN_WMM_STATUS_MODIFY_UAPSD_SET_FAILED = 21
|
||||
} hdd_wlan_wmm_status_e;
|
||||
|
||||
/** TS Info Ack Policy */
|
||||
enum hdd_wlan_wmm_ts_info_ack_policy {
|
||||
HDD_WLAN_WMM_TS_INFO_ACK_POLICY_NORMAL_ACK = 0,
|
||||
HDD_WLAN_WMM_TS_INFO_ACK_POLICY_HT_IMMEDIATE_BLOCK_ACK = 1,
|
||||
};
|
||||
|
||||
/** Enable 11d */
|
||||
#define ENABLE_11D 1
|
||||
|
||||
|
@@ -683,13 +683,6 @@ struct reg_table_entry g_registry_table[] = {
|
||||
CFG_WOW_DATA_INACTIVITY_TIMEOUT_MAX),
|
||||
|
||||
#ifdef FEATURE_WLAN_ESE
|
||||
REG_VARIABLE(CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_NAME,
|
||||
WLAN_PARAM_Integer,
|
||||
struct hdd_config, InfraInactivityInterval,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_DEFAULT,
|
||||
CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MIN,
|
||||
CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MAX),
|
||||
|
||||
REG_DYNAMIC_VARIABLE(CFG_ESE_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
|
||||
struct hdd_config, isEseIniFeatureEnabled,
|
||||
@@ -981,13 +974,6 @@ struct reg_table_entry g_registry_table[] = {
|
||||
cb_notify_set_roam_scan_hi_rssi_scan_params,
|
||||
eCSR_HI_RSSI_SCAN_RSSI_UB_ID),
|
||||
|
||||
REG_VARIABLE(CFG_QOS_WMM_BURST_SIZE_DEFN_NAME, WLAN_PARAM_Integer,
|
||||
struct hdd_config, burstSizeDefinition,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
CFG_QOS_WMM_BURST_SIZE_DEFN_DEFAULT,
|
||||
CFG_QOS_WMM_BURST_SIZE_DEFN_MIN,
|
||||
CFG_QOS_WMM_BURST_SIZE_DEFN_MAX),
|
||||
|
||||
#ifdef FEATURE_WLAN_RA_FILTERING
|
||||
|
||||
REG_VARIABLE(CFG_RA_RATE_LIMIT_INTERVAL_NAME, WLAN_PARAM_Integer,
|
||||
@@ -1007,13 +993,6 @@ struct reg_table_entry g_registry_table[] = {
|
||||
CFG_ENABLE_RUNTIME_PM_MAX),
|
||||
#endif
|
||||
|
||||
REG_VARIABLE(CFG_QOS_WMM_TS_INFO_ACK_POLICY_NAME, WLAN_PARAM_HexInteger,
|
||||
struct hdd_config, tsInfoAckPolicy,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
CFG_QOS_WMM_TS_INFO_ACK_POLICY_DEFAULT,
|
||||
CFG_QOS_WMM_TS_INFO_ACK_POLICY_MIN,
|
||||
CFG_QOS_WMM_TS_INFO_ACK_POLICY_MAX),
|
||||
|
||||
REG_VARIABLE(CFG_STA_KEEPALIVE_METHOD_NAME, WLAN_PARAM_Integer,
|
||||
struct hdd_config, sta_keepalive_method,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
@@ -1021,13 +1000,6 @@ struct reg_table_entry g_registry_table[] = {
|
||||
CFG_STA_KEEPALIVE_METHOD_MIN,
|
||||
CFG_STA_KEEPALIVE_METHOD_MAX),
|
||||
|
||||
REG_VARIABLE(CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_NAME, WLAN_PARAM_Integer,
|
||||
struct hdd_config, AddTSWhenACMIsOff,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_DEFAULT,
|
||||
CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MIN,
|
||||
CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MAX),
|
||||
|
||||
/* CFG_QDF_TRACE_ENABLE Parameters */
|
||||
REG_VARIABLE(CFG_QDF_TRACE_ENABLE_WDI_NAME, WLAN_PARAM_Integer,
|
||||
struct hdd_config, qdf_trace_enable_wdi,
|
||||
@@ -4029,7 +4001,7 @@ QDF_STATUS hdd_set_sme_config(struct hdd_context *hdd_ctx)
|
||||
pConfig->nhi_rssi_scan_delay;
|
||||
smeConfig->csrConfig.neighborRoamConfig.nhi_rssi_scan_rssi_ub =
|
||||
pConfig->nhi_rssi_scan_rssi_ub;
|
||||
smeConfig->csrConfig.addTSWhenACMIsOff = pConfig->AddTSWhenACMIsOff;
|
||||
|
||||
smeConfig->csrConfig.allowDFSChannelRoam = pConfig->allowDFSChannelRoam;
|
||||
|
||||
/* Enable/Disable MCC */
|
||||
|
@@ -7810,11 +7810,11 @@ static int __iw_add_tspec(struct net_device *dev, struct iw_request_info *info,
|
||||
|
||||
/* validate the ts info ack policy */
|
||||
switch (params[HDD_WLAN_WMM_PARAM_ACK_POLICY]) {
|
||||
case HDD_WLAN_WMM_TS_INFO_ACK_POLICY_NORMAL_ACK:
|
||||
case TS_INFO_ACK_POLICY_NORMAL_ACK:
|
||||
tSpec.ts_info.ack_policy = SME_QOS_WMM_TS_ACK_POLICY_NORMAL_ACK;
|
||||
break;
|
||||
|
||||
case HDD_WLAN_WMM_TS_INFO_ACK_POLICY_HT_IMMEDIATE_BLOCK_ACK:
|
||||
case TS_INFO_ACK_POLICY_HT_IMMEDIATE_BLOCK_ACK:
|
||||
tSpec.ts_info.ack_policy =
|
||||
SME_QOS_WMM_TS_ACK_POLICY_HT_IMMEDIATE_BLOCK_ACK;
|
||||
break;
|
||||
|
@@ -1022,6 +1022,8 @@ static void __hdd_wmm_do_implicit_qos(struct work_struct *work)
|
||||
uint32_t rate_ac = 0;
|
||||
uint16_t sba_ac = 0;
|
||||
uint32_t uapsd_value = 0;
|
||||
bool is_ts_burst_enable;
|
||||
enum mlme_ts_info_ack_policy ack_policy;
|
||||
|
||||
hdd_debug("Entered, context %pK", pQosContext);
|
||||
|
||||
@@ -1340,19 +1342,21 @@ static void __hdd_wmm_do_implicit_qos(struct work_struct *work)
|
||||
break;
|
||||
}
|
||||
#ifdef FEATURE_WLAN_ESE
|
||||
qosInfo.inactivity_interval =
|
||||
(WLAN_HDD_GET_CTX(adapter))->config->InfraInactivityInterval;
|
||||
ucfg_mlme_get_inactivity_interval(hdd_ctx->psoc, &uapsd_value);
|
||||
qosInfo.inactivity_interval = uapsd_value;
|
||||
#endif
|
||||
qosInfo.ts_info.burst_size_defn =
|
||||
(WLAN_HDD_GET_CTX(adapter))->config->burstSizeDefinition;
|
||||
ucfg_mlme_get_is_ts_burst_size_enable(hdd_ctx->psoc,
|
||||
&is_ts_burst_enable);
|
||||
qosInfo.ts_info.burst_size_defn = is_ts_burst_enable;
|
||||
|
||||
switch ((WLAN_HDD_GET_CTX(adapter))->config->tsInfoAckPolicy) {
|
||||
case HDD_WLAN_WMM_TS_INFO_ACK_POLICY_NORMAL_ACK:
|
||||
ucfg_mlme_get_ts_info_ack_policy(hdd_ctx->psoc, &ack_policy);
|
||||
switch (ack_policy) {
|
||||
case TS_INFO_ACK_POLICY_NORMAL_ACK:
|
||||
qosInfo.ts_info.ack_policy =
|
||||
SME_QOS_WMM_TS_ACK_POLICY_NORMAL_ACK;
|
||||
break;
|
||||
|
||||
case HDD_WLAN_WMM_TS_INFO_ACK_POLICY_HT_IMMEDIATE_BLOCK_ACK:
|
||||
case TS_INFO_ACK_POLICY_HT_IMMEDIATE_BLOCK_ACK:
|
||||
qosInfo.ts_info.ack_policy =
|
||||
SME_QOS_WMM_TS_ACK_POLICY_HT_IMMEDIATE_BLOCK_ACK;
|
||||
break;
|
||||
|
@@ -1108,11 +1108,6 @@ typedef struct tagCsrConfigParam {
|
||||
uint8_t RoamRssiDiff;
|
||||
bool isWESModeEnabled;
|
||||
tCsrNeighborRoamConfigParams neighborRoamConfig;
|
||||
/*
|
||||
* Instead of Reassoc, send ADDTS/DELTS even when ACM is off for that AC
|
||||
* This is mandated by WMM-AC certification
|
||||
*/
|
||||
bool addTSWhenACMIsOff;
|
||||
/*
|
||||
* Customer wants to optimize the scan time. Avoiding scans(passive)
|
||||
* on DFS channels while swipping through both bands can save some time
|
||||
|
@@ -34,6 +34,7 @@
|
||||
#include "csr_neighbor_roam.h"
|
||||
|
||||
#include "sir_types.h"
|
||||
#include "wlan_mlme_public_struct.h"
|
||||
|
||||
/* define scan return criteria. LIM should use these define as well */
|
||||
#define CSR_SCAN_RETURN_AFTER_ALL_CHANNELS (0)
|
||||
@@ -471,11 +472,6 @@ struct csr_config {
|
||||
|
||||
struct csr_neighbor_roamconfig neighborRoamConfig;
|
||||
|
||||
/*
|
||||
* Instead of Reassoc, send ADDTS/DELTS even when ACM is off for
|
||||
* that AC This is mandated by WMM-AC certification
|
||||
*/
|
||||
bool addTSWhenACMIsOff;
|
||||
/*
|
||||
* Remove this code once SLM_Sessionization is supported
|
||||
* BMPS_WORKAROUND_NOT_NEEDED
|
||||
@@ -1048,7 +1044,7 @@ struct csr_roamstruct {
|
||||
(eCsrDynamicRoaming == (pSession)->roamingReason) || \
|
||||
(eCsrReassocRoaming == (pSession)->roamingReason))
|
||||
#define CSR_IS_ADDTS_WHEN_ACMOFF_SUPPORTED(pMac) \
|
||||
(pMac->roam.configParam.addTSWhenACMIsOff)
|
||||
(pMac->mlme_cfg->wmm_params.wmm_tspec_element.ts_acm_is_off = 0)
|
||||
#define CSR_IS_LOSTLINK_ROAMING(reason) \
|
||||
((eCsrLostlinkRoamingDisassoc == (reason)) || \
|
||||
(eCsrLostlinkRoamingDeauth == (reason)))
|
||||
|
@@ -1726,7 +1726,6 @@ static void init_config_param(tpAniSirGlobal pMac)
|
||||
pMac->roam.configParam.nVhtChannelWidth =
|
||||
WNI_CFG_VHT_CHANNEL_WIDTH_80MHZ + 1;
|
||||
|
||||
pMac->roam.configParam.addTSWhenACMIsOff = 0;
|
||||
pMac->roam.configParam.fScanTwice = false;
|
||||
|
||||
/* Remove this code once SLM_Sessionization is supported */
|
||||
@@ -2733,8 +2732,6 @@ QDF_STATUS csr_change_default_config_param(tpAniSirGlobal pMac,
|
||||
sme_debug("nRoamBeaconRssiWeight: %d",
|
||||
pMac->roam.configParam.neighborRoamConfig.
|
||||
nRoamBeaconRssiWeight);
|
||||
pMac->roam.configParam.addTSWhenACMIsOff =
|
||||
pParam->addTSWhenACMIsOff;
|
||||
pMac->scan.fEnableDFSChnlScan = pParam->fEnableDFSChnlScan;
|
||||
pMac->scan.scanResultCfgAgingTime = pParam->scanCfgAgingTime;
|
||||
pMac->roam.configParam.fScanTwice = pParam->fScanTwice;
|
||||
@@ -2922,7 +2919,6 @@ QDF_STATUS csr_get_config_param(tpAniSirGlobal pMac, tCsrConfigParam *pParam)
|
||||
pParam->allow_tpc_from_ap = cfg_params->allow_tpc_from_ap;
|
||||
pParam->statsReqPeriodicity = cfg_params->statsReqPeriodicity;
|
||||
pParam->statsReqPeriodicityInPS = cfg_params->statsReqPeriodicityInPS;
|
||||
pParam->addTSWhenACMIsOff = cfg_params->addTSWhenACMIsOff;
|
||||
pParam->fEnableDFSChnlScan = pMac->scan.fEnableDFSChnlScan;
|
||||
pParam->fScanTwice = cfg_params->fScanTwice;
|
||||
pParam->fFirstScanOnly2GChnl = pMac->scan.fFirstScanOnly2GChnl;
|
||||
|
Reference in New Issue
Block a user