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:
Abhinav Kumar
2018-11-05 14:32:49 +05:30
committed by nshrivas
parent 14e7e24803
commit ab57671afd
14 changed files with 356 additions and 134 deletions

View File

@@ -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,

View File

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

View File

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

View File

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

View File

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

View File

@@ -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)
{

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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