qcacld-3.0: Add MLME CFG items of FE_WLM and FE_RRM
Add the following WLM and RRM ini configs to MLME cfg: CFG_LATENCY_ENABLE CFG_LATENCY_LEVEL CFG_LATENCY_FLAGS_NORMAL CFG_LATENCY_FLAGS_MOD CFG_LATENCY_FLAGS_LOW CFG_LATENCY_FLAGS_ULTLOW CFG_RRM_ENABLE CFG_RRM_MEAS_RAND_INTVL CFG_RM_CAPABILITY Change-Id: I714aca1e9bc6d3c330934753364d7f58d93a28d7 CRs-Fixed: 2353103
This commit is contained in:

committed by
nshrivas

parent
3babed5263
commit
334aa8de95
@@ -25,6 +25,7 @@
|
|||||||
#include "wmi_unified.h"
|
#include "wmi_unified.h"
|
||||||
#include "wlan_scan_public_structs.h"
|
#include "wlan_scan_public_structs.h"
|
||||||
#include "wlan_vdev_mlme_api.h"
|
#include "wlan_vdev_mlme_api.h"
|
||||||
|
#include "wlan_mlme_api.h"
|
||||||
|
|
||||||
#define NUM_OF_SOUNDING_DIMENSIONS 1 /*Nss - 1, (Nss = 2 for 2x2)*/
|
#define NUM_OF_SOUNDING_DIMENSIONS 1 /*Nss - 1, (Nss = 2 for 2x2)*/
|
||||||
|
|
||||||
@@ -1857,6 +1858,51 @@ static void mlme_init_btm_cfg(struct wlan_mlme_btm *btm)
|
|||||||
btm->btm_sticky_time = cfg_default(CFG_BTM_STICKY_TIME);
|
btm->btm_sticky_time = cfg_default(CFG_BTM_STICKY_TIME);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* mlme_init_fe_wlm_in_cfg() - Populate WLM INI in MLME cfg
|
||||||
|
* @psoc: pointer to the psoc object
|
||||||
|
* @wlm_config: pointer to the MLME WLM cfg
|
||||||
|
*
|
||||||
|
* Return: None
|
||||||
|
*/
|
||||||
|
static void mlme_init_fe_wlm_in_cfg(struct wlan_objmgr_psoc *psoc,
|
||||||
|
struct wlan_mlme_fe_wlm *wlm_config)
|
||||||
|
{
|
||||||
|
wlm_config->latency_enable = cfg_get(psoc, CFG_LATENCY_ENABLE);
|
||||||
|
wlm_config->latency_level = cfg_get(psoc, CFG_LATENCY_LEVEL);
|
||||||
|
wlm_config->latency_flags[0] = cfg_get(psoc, CFG_LATENCY_FLAGS_NORMAL);
|
||||||
|
wlm_config->latency_flags[1] = cfg_get(psoc, CFG_LATENCY_FLAGS_MOD);
|
||||||
|
wlm_config->latency_flags[2] = cfg_get(psoc, CFG_LATENCY_FLAGS_LOW);
|
||||||
|
wlm_config->latency_flags[3] = cfg_get(psoc, CFG_LATENCY_FLAGS_ULTLOW);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* mlme_init_fe_rrm_in_cfg() - Populate RRM INI in MLME cfg
|
||||||
|
* @psoc: pointer to the psoc object
|
||||||
|
* @rrm_config: pointer to the MLME RRM cfg
|
||||||
|
*
|
||||||
|
* Return: None
|
||||||
|
*/
|
||||||
|
static void mlme_init_fe_rrm_in_cfg(struct wlan_objmgr_psoc *psoc,
|
||||||
|
struct wlan_mlme_fe_rrm *rrm_config)
|
||||||
|
{
|
||||||
|
qdf_size_t len;
|
||||||
|
|
||||||
|
rrm_config->rrm_enabled = cfg_get(psoc, CFG_RRM_ENABLE);
|
||||||
|
rrm_config->rrm_rand_interval = cfg_get(psoc, CFG_RRM_MEAS_RAND_INTVL);
|
||||||
|
|
||||||
|
qdf_uint8_array_parse(cfg_get(psoc, CFG_RM_CAPABILITY),
|
||||||
|
rrm_config->rm_capability,
|
||||||
|
sizeof(rrm_config->rm_capability), &len);
|
||||||
|
|
||||||
|
if (len < MLME_RMENABLEDCAP_MAX_LEN) {
|
||||||
|
mlme_debug("Incorrect RM capability, using default");
|
||||||
|
qdf_uint8_array_parse(cfg_default(CFG_RM_CAPABILITY),
|
||||||
|
rrm_config->rm_capability,
|
||||||
|
sizeof(rrm_config->rm_capability), &len);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
QDF_STATUS mlme_cfg_on_psoc_enable(struct wlan_objmgr_psoc *psoc)
|
QDF_STATUS mlme_cfg_on_psoc_enable(struct wlan_objmgr_psoc *psoc)
|
||||||
{
|
{
|
||||||
struct wlan_mlme_psoc_obj *mlme_obj;
|
struct wlan_mlme_psoc_obj *mlme_obj;
|
||||||
@@ -1900,6 +1946,8 @@ QDF_STATUS mlme_cfg_on_psoc_enable(struct wlan_objmgr_psoc *psoc)
|
|||||||
mlme_init_wifi_pos_cfg(psoc, &mlme_cfg->wifi_pos_cfg);
|
mlme_init_wifi_pos_cfg(psoc, &mlme_cfg->wifi_pos_cfg);
|
||||||
mlme_init_wps_params_cfg(psoc, &mlme_cfg->wps_params);
|
mlme_init_wps_params_cfg(psoc, &mlme_cfg->wps_params);
|
||||||
mlme_init_btm_cfg(&mlme_cfg->btm);
|
mlme_init_btm_cfg(&mlme_cfg->btm);
|
||||||
|
mlme_init_fe_wlm_in_cfg(psoc, &mlme_cfg->wlm_config);
|
||||||
|
mlme_init_fe_rrm_in_cfg(psoc, &mlme_cfg->rrm_config);
|
||||||
|
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
@@ -52,6 +52,8 @@
|
|||||||
#include "cfg_mlme_wep_params.h"
|
#include "cfg_mlme_wep_params.h"
|
||||||
#include "cfg_mlme_wifi_pos.h"
|
#include "cfg_mlme_wifi_pos.h"
|
||||||
#include "cfg_mlme_btm.h"
|
#include "cfg_mlme_btm.h"
|
||||||
|
#include "cfg_mlme_fe_wlm.h"
|
||||||
|
#include "cfg_mlme_fe_rrm.h"
|
||||||
|
|
||||||
/* Please Maintain Alphabetic Order here */
|
/* Please Maintain Alphabetic Order here */
|
||||||
#define CFG_MLME_ALL \
|
#define CFG_MLME_ALL \
|
||||||
@@ -60,6 +62,8 @@
|
|||||||
CFG_CHAINMASK_ALL \
|
CFG_CHAINMASK_ALL \
|
||||||
CFG_DFS_ALL \
|
CFG_DFS_ALL \
|
||||||
CFG_EDCA_PARAMS_ALL \
|
CFG_EDCA_PARAMS_ALL \
|
||||||
|
CFG_FE_RRM_ALL \
|
||||||
|
CFG_FE_WLM_ALL \
|
||||||
CFG_FEATURE_FLAG_ALL \
|
CFG_FEATURE_FLAG_ALL \
|
||||||
CFG_GENERIC_ALL \
|
CFG_GENERIC_ALL \
|
||||||
CFG_HT_CAPS_ALL \
|
CFG_HT_CAPS_ALL \
|
||||||
|
106
components/mlme/dispatcher/inc/cfg_mlme_fe_rrm.h
Normal file
106
components/mlme/dispatcher/inc/cfg_mlme_fe_rrm.h
Normal file
@@ -0,0 +1,106 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2012-2018 The Linux Foundation. All rights reserved.
|
||||||
|
*
|
||||||
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
|
* any purpose with or without fee is hereby granted, provided that the
|
||||||
|
* above copyright notice and this permission notice appear in all
|
||||||
|
* copies.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
|
||||||
|
* WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
|
||||||
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
|
||||||
|
* AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
|
||||||
|
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
|
||||||
|
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||||
|
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||||
|
* PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DOC: This file contains centralized definitions of converged configuration.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __CFG_MLME_FE_RRM_H
|
||||||
|
#define __CFG_MLME_FE_RRM_H
|
||||||
|
|
||||||
|
/*
|
||||||
|
* <ini>
|
||||||
|
* gRrmEnable - Enable/Disable RRM
|
||||||
|
* @Min: 0
|
||||||
|
* @Max: 1
|
||||||
|
* @Default: 0
|
||||||
|
*
|
||||||
|
* This ini is used to controls the capabilities (11 k) included
|
||||||
|
* in the capabilities field.
|
||||||
|
*
|
||||||
|
* Related: None.
|
||||||
|
*
|
||||||
|
* Supported Feature: 11k
|
||||||
|
*
|
||||||
|
* Usage: Internal/External
|
||||||
|
*
|
||||||
|
* </ini>
|
||||||
|
*/
|
||||||
|
#define CFG_RRM_ENABLE CFG_INI_BOOL("gRrmEnable", \
|
||||||
|
0, \
|
||||||
|
"Enable/Disable RRM")
|
||||||
|
|
||||||
|
/*
|
||||||
|
* <ini>
|
||||||
|
* gRrmRandnIntvl - Randomization interval
|
||||||
|
* @Min: 10
|
||||||
|
* @Max: 100
|
||||||
|
* @Default: 100
|
||||||
|
*
|
||||||
|
* This ini is used to set randomization interval which is used to start a timer
|
||||||
|
* of a random value within randomization interval. Next RRM Scan request
|
||||||
|
* will be issued after the expiry of this random interval.
|
||||||
|
*
|
||||||
|
* Related: None.
|
||||||
|
*
|
||||||
|
* Supported Feature: 11k
|
||||||
|
*
|
||||||
|
* Usage: Internal/External
|
||||||
|
*
|
||||||
|
* </ini>
|
||||||
|
*/
|
||||||
|
#define CFG_RRM_MEAS_RAND_INTVL CFG_INI_UINT("gRrmRandnIntvl", \
|
||||||
|
10, \
|
||||||
|
100, \
|
||||||
|
100, \
|
||||||
|
CFG_VALUE_OR_DEFAULT, \
|
||||||
|
"RRM Randomization interval")
|
||||||
|
|
||||||
|
/*
|
||||||
|
* <ini>
|
||||||
|
* rm_capability - Configure RM enabled capabilities IE
|
||||||
|
* @Default: 0x73,0x10,0x91,0x00,0x04
|
||||||
|
*
|
||||||
|
* This ini is used to configure RM enabled capabilities IE.
|
||||||
|
* Using this INI, we can set/unset any of the bits in 5 bytes
|
||||||
|
* (last 4bytes are reserved). Bit details are updated as per
|
||||||
|
* Draft version of 11mc spec. (Draft P802.11REVmc_D4.2)
|
||||||
|
*
|
||||||
|
* Bitwise details are defined as bit mask in rrm_global.h
|
||||||
|
* Comma is used as a separator for each byte.
|
||||||
|
*
|
||||||
|
* Related: None.
|
||||||
|
*
|
||||||
|
* Supported Feature: 11k
|
||||||
|
*
|
||||||
|
* Usage: Internal/External
|
||||||
|
*
|
||||||
|
* </ini>
|
||||||
|
*/
|
||||||
|
#define CFG_RM_CAPABILITY CFG_INI_STRING("rm_capability", \
|
||||||
|
24, \
|
||||||
|
40, \
|
||||||
|
"0x73,0x10,0x91,0x00,0x04", \
|
||||||
|
"RM enabled capabilities IE")
|
||||||
|
|
||||||
|
#define CFG_FE_RRM_ALL \
|
||||||
|
CFG(CFG_RRM_ENABLE) \
|
||||||
|
CFG(CFG_RRM_MEAS_RAND_INTVL) \
|
||||||
|
CFG(CFG_RM_CAPABILITY)
|
||||||
|
|
||||||
|
#endif /* __CFG_MLME_FE_RRM_H */
|
246
components/mlme/dispatcher/inc/cfg_mlme_fe_wlm.h
Normal file
246
components/mlme/dispatcher/inc/cfg_mlme_fe_wlm.h
Normal file
@@ -0,0 +1,246 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2012-2018 The Linux Foundation. All rights reserved.
|
||||||
|
*
|
||||||
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
|
* any purpose with or without fee is hereby granted, provided that the
|
||||||
|
* above copyright notice and this permission notice appear in all
|
||||||
|
* copies.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
|
||||||
|
* WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
|
||||||
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
|
||||||
|
* AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
|
||||||
|
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
|
||||||
|
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||||
|
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||||
|
* PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DOC: This file contains centralized definitions of converged configuration.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __CFG_MLME_FE_WLM_H
|
||||||
|
#define __CFG_MLME_FE_WLM_H
|
||||||
|
|
||||||
|
/*
|
||||||
|
* <ini>
|
||||||
|
* wlm_latency_enable - WLM latency Enable
|
||||||
|
*
|
||||||
|
* @min: 0
|
||||||
|
* @max: 1
|
||||||
|
* @default: 0
|
||||||
|
*
|
||||||
|
* 0 - disable
|
||||||
|
* 1 - enable
|
||||||
|
*
|
||||||
|
* </ini>
|
||||||
|
*/
|
||||||
|
#define CFG_LATENCY_ENABLE CFG_INI_BOOL("wlm_latency_enable", \
|
||||||
|
0, \
|
||||||
|
"WLM latency Enable")
|
||||||
|
|
||||||
|
/*
|
||||||
|
* <ini>
|
||||||
|
* wlm_latency_level - WLM latency level
|
||||||
|
* Define 4 latency level to gain latency
|
||||||
|
*
|
||||||
|
* @min: 0
|
||||||
|
* @max: 3
|
||||||
|
* @defalut: 0
|
||||||
|
*
|
||||||
|
* 0 - normal
|
||||||
|
* 1 - moderate
|
||||||
|
* 2 - low
|
||||||
|
* 3 - ultralow
|
||||||
|
*
|
||||||
|
* </ini>
|
||||||
|
*/
|
||||||
|
#define CFG_LATENCY_LEVEL CFG_INI_UINT("wlm_latency_level", \
|
||||||
|
0, \
|
||||||
|
3, \
|
||||||
|
0, \
|
||||||
|
CFG_VALUE_OR_DEFAULT, \
|
||||||
|
"WLM latency level")
|
||||||
|
|
||||||
|
/*
|
||||||
|
* <ini>
|
||||||
|
* wlm_latency_flags_normal - WLM flags setting for normal level
|
||||||
|
*
|
||||||
|
* @min: 0x0
|
||||||
|
* @max: 0xffffffff
|
||||||
|
* @defalut: 0x0
|
||||||
|
*
|
||||||
|
* |31 12| 11 | 10 |9 8|7 6|5 4|3 2| 1 | 0 |
|
||||||
|
* +------+------+------+------+------+------+------+-----+-----+
|
||||||
|
* | RSVD | SSLP | CSLP | RSVD | Roam | RSVD | DWLT | DFS | SUP |
|
||||||
|
* +------+-------------+-------------+-------------------------+
|
||||||
|
* | WAL | PS | Roam | Scan |
|
||||||
|
*
|
||||||
|
* bit 0: Avoid scan request from HLOS if setting
|
||||||
|
* bit 1: Skip DFS channel SCAN if setting
|
||||||
|
* bit 2-3: Define policy of dwell time/duration for each foreign channel
|
||||||
|
* (b2 b3)
|
||||||
|
* (0 0 ): Default scan dwell time
|
||||||
|
* (0 1 ): Reserve
|
||||||
|
* (1 0 ): Shrink off channel dwell time
|
||||||
|
* (1 1 ): Reserve
|
||||||
|
* bit 4-5: Reserve for scan
|
||||||
|
* bit 6-7: Define roaming policy
|
||||||
|
* (b6 b7)
|
||||||
|
* (0 0 ): Default roaming behavior, allow roaming in all scenarios
|
||||||
|
* (0 1 ): Disallow all roaming
|
||||||
|
* (1 0 ): Allow roaming when final bmissed
|
||||||
|
* (1 1 ): Reserve
|
||||||
|
* bit 8-9: Reserve for roaming
|
||||||
|
* bit 10: Disable css power collapse if setting
|
||||||
|
* bit 11: Disable sys sleep if setting
|
||||||
|
* bit 12-31: Reserve for future useage
|
||||||
|
*
|
||||||
|
* </ini>
|
||||||
|
*/
|
||||||
|
#define CFG_LATENCY_FLAGS_NORMAL CFG_INI_UINT("wlm_latency_flags_normal", \
|
||||||
|
0, \
|
||||||
|
0xffffffff, \
|
||||||
|
0, \
|
||||||
|
CFG_VALUE_OR_DEFAULT, \
|
||||||
|
"WLM flag setting for normal lvl")
|
||||||
|
|
||||||
|
/*
|
||||||
|
* <ini>
|
||||||
|
* wlm_latency_flags_moderate - WLM flags setting for moderate level
|
||||||
|
*
|
||||||
|
* @min: 0x0
|
||||||
|
* @max: 0xffffffff
|
||||||
|
* @defalut: 0x8
|
||||||
|
*
|
||||||
|
* |31 12| 11 | 10 |9 8|7 6|5 4|3 2| 1 | 0 |
|
||||||
|
* +------+------+------+------+------+------+------+-----+-----+
|
||||||
|
* | RSVD | SSLP | CSLP | RSVD | Roam | RSVD | DWLT | DFS | SUP |
|
||||||
|
* +------+-------------+-------------+-------------------------+
|
||||||
|
* | WAL | PS | Roam | Scan |
|
||||||
|
*
|
||||||
|
* bit 0: Avoid scan request from HLOS if setting
|
||||||
|
* bit 1: Skip DFS channel SCAN if setting
|
||||||
|
* bit 2-3: Define policy of dwell time/duration for each foreign channel
|
||||||
|
* (b2 b3)
|
||||||
|
* (0 0 ): Default scan dwell time
|
||||||
|
* (0 1 ): Reserve
|
||||||
|
* (1 0 ): Shrink off channel dwell time
|
||||||
|
* (1 1 ): Reserve
|
||||||
|
* bit 4-5: Reserve for scan
|
||||||
|
* bit 6-7: Define roaming policy
|
||||||
|
* (b6 b7)
|
||||||
|
* (0 0 ): Default roaming behavior, allow roaming in all scenarios
|
||||||
|
* (0 1 ): Disallow all roaming
|
||||||
|
* (1 0 ): Allow roaming when final bmissed
|
||||||
|
* (1 1 ): Reserve
|
||||||
|
* bit 8-9: Reserve for roaming
|
||||||
|
* bit 10: Disable css power collapse if setting
|
||||||
|
* bit 11: Disable sys sleep if setting
|
||||||
|
* bit 12-31: Reserve for future useage
|
||||||
|
*
|
||||||
|
* </ini>
|
||||||
|
*/
|
||||||
|
#define CFG_LATENCY_FLAGS_MOD CFG_INI_UINT("wlm_latency_flags_moderate", \
|
||||||
|
0, \
|
||||||
|
0xffffffff, \
|
||||||
|
0x8, \
|
||||||
|
CFG_VALUE_OR_DEFAULT, \
|
||||||
|
"WLM flag setting for moderate lvl")
|
||||||
|
|
||||||
|
/*
|
||||||
|
* <ini>
|
||||||
|
* wlm_latency_flags_low - WLM flags setting for low level
|
||||||
|
*
|
||||||
|
* @min: 0x0
|
||||||
|
* @max: 0xffffffff
|
||||||
|
* @defalut: 0xa
|
||||||
|
*
|
||||||
|
* |31 12| 11 | 10 |9 8|7 6|5 4|3 2| 1 | 0 |
|
||||||
|
* +------+------+------+------+------+------+------+-----+-----+
|
||||||
|
* | RSVD | SSLP | CSLP | RSVD | Roam | RSVD | DWLT | DFS | SUP |
|
||||||
|
* +------+-------------+-------------+-------------------------+
|
||||||
|
* | WAL | PS | Roam | Scan |
|
||||||
|
*
|
||||||
|
* bit 0: Avoid scan request from HLOS if setting
|
||||||
|
* bit 1: Skip DFS channel SCAN if setting
|
||||||
|
* bit 2-3: Define policy of dwell time/duration for each foreign channel
|
||||||
|
* (b2 b3)
|
||||||
|
* (0 0 ): Default scan dwell time
|
||||||
|
* (0 1 ): Reserve
|
||||||
|
* (1 0 ): Shrink off channel dwell time
|
||||||
|
* (1 1 ): Reserve
|
||||||
|
* bit 4-5: Reserve for scan
|
||||||
|
* bit 6-7: Define roaming policy
|
||||||
|
* (b6 b7)
|
||||||
|
* (0 0 ): Default roaming behavior, allow roaming in all scenarios
|
||||||
|
* (0 1 ): Disallow all roaming
|
||||||
|
* (1 0 ): Allow roaming when final bmissed
|
||||||
|
* (1 1 ): Reserve
|
||||||
|
* bit 8-9: Reserve for roaming
|
||||||
|
* bit 10: Disable css power collapse if setting
|
||||||
|
* bit 11: Disable sys sleep if setting
|
||||||
|
* bit 12-31: Reserve for future useage
|
||||||
|
*
|
||||||
|
* </ini>
|
||||||
|
*/
|
||||||
|
#define CFG_LATENCY_FLAGS_LOW CFG_INI_UINT("wlm_latency_flags_low", \
|
||||||
|
0, \
|
||||||
|
0xffffffff, \
|
||||||
|
0xa, \
|
||||||
|
CFG_VALUE_OR_DEFAULT, \
|
||||||
|
"WLM flags setting for low level")
|
||||||
|
|
||||||
|
/*
|
||||||
|
* <ini>
|
||||||
|
* wlm_latency_flags_ultralow - WLM flags setting for ultralow level
|
||||||
|
*
|
||||||
|
* @min: 0x0
|
||||||
|
* @max: 0xffffffff
|
||||||
|
* @defalut: 0xc8a
|
||||||
|
*
|
||||||
|
* |31 12| 11 | 10 |9 8|7 6|5 4|3 2| 1 | 0 |
|
||||||
|
* +------+------+------+------+------+------+------+-----+-----+
|
||||||
|
* | RSVD | SSLP | CSLP | RSVD | Roam | RSVD | DWLT | DFS | SUP |
|
||||||
|
* +------+-------------+-------------+-------------------------+
|
||||||
|
* | WAL | PS | Roam | Scan |
|
||||||
|
*
|
||||||
|
* bit 0: Avoid scan request from HLOS if setting
|
||||||
|
* bit 1: Skip DFS channel SCAN if setting
|
||||||
|
* bit 2-3: Define policy of dwell time/duration for each foreign channel
|
||||||
|
* (b2 b3)
|
||||||
|
* (0 0 ): Default scan dwell time
|
||||||
|
* (0 1 ): Reserve
|
||||||
|
* (1 0 ): Shrink off channel dwell time
|
||||||
|
* (1 1 ): Reserve
|
||||||
|
* bit 4-5: Reserve for scan
|
||||||
|
* bit 6-7: Define roaming policy
|
||||||
|
* (b6 b7)
|
||||||
|
* (0 0 ): Default roaming behavior, allow roaming in all scenarios
|
||||||
|
* (0 1 ): Disallow all roaming
|
||||||
|
* (1 0 ): Allow roaming when final bmissed
|
||||||
|
* (1 1 ): Reserve
|
||||||
|
* bit 8-9: Reserve for roaming
|
||||||
|
* bit 10: Disable css power collapse if setting
|
||||||
|
* bit 11: Disable sys sleep if setting
|
||||||
|
* bit 12-31: Reserve for future useage
|
||||||
|
*
|
||||||
|
* </ini>
|
||||||
|
*/
|
||||||
|
#define CFG_LATENCY_FLAGS_ULTLOW CFG_INI_UINT("wlm_latency_flags_ultralow",\
|
||||||
|
0, \
|
||||||
|
0xffffffff, \
|
||||||
|
0xc8a, \
|
||||||
|
CFG_VALUE_OR_DEFAULT, \
|
||||||
|
"WLM flags for ultralow level")
|
||||||
|
|
||||||
|
#define CFG_FE_WLM_ALL \
|
||||||
|
CFG(CFG_LATENCY_ENABLE) \
|
||||||
|
CFG(CFG_LATENCY_LEVEL) \
|
||||||
|
CFG(CFG_LATENCY_FLAGS_NORMAL) \
|
||||||
|
CFG(CFG_LATENCY_FLAGS_MOD) \
|
||||||
|
CFG(CFG_LATENCY_FLAGS_LOW) \
|
||||||
|
CFG(CFG_LATENCY_FLAGS_ULTLOW)
|
||||||
|
|
||||||
|
#endif /* __CFG_MLME_FE_WLM_H */
|
@@ -1963,4 +1963,14 @@ wlan_mlme_get_mcc_rts_cts_prot(struct wlan_objmgr_psoc *psoc,
|
|||||||
QDF_STATUS
|
QDF_STATUS
|
||||||
wlan_mlme_get_mcc_feature(struct wlan_objmgr_psoc *psoc,
|
wlan_mlme_get_mcc_feature(struct wlan_objmgr_psoc *psoc,
|
||||||
uint8_t *value);
|
uint8_t *value);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wlan_mlme_get_rrm_enabled() - Get the RRM enabled ini
|
||||||
|
* @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_rrm_enabled(struct wlan_objmgr_psoc *psoc,
|
||||||
|
bool *value);
|
||||||
#endif /* _WLAN_MLME_API_H_ */
|
#endif /* _WLAN_MLME_API_H_ */
|
||||||
|
@@ -265,6 +265,9 @@ struct wlan_mlme_edca_params {
|
|||||||
#define WLAN_CFG_MFR_PRODUCT_NAME_LEN (31)
|
#define WLAN_CFG_MFR_PRODUCT_NAME_LEN (31)
|
||||||
#define WLAN_CFG_MFR_PRODUCT_VERSION_LEN (31)
|
#define WLAN_CFG_MFR_PRODUCT_VERSION_LEN (31)
|
||||||
|
|
||||||
|
#define MLME_NUM_WLM_LATENCY_LEVEL 4
|
||||||
|
#define MLME_RMENABLEDCAP_MAX_LEN 5
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* struct mlme_ht_capabilities_info - HT Capabilities Info
|
* struct mlme_ht_capabilities_info - HT Capabilities Info
|
||||||
* @l_sig_tx_op_protection: L-SIG TXOP Protection Mechanism support
|
* @l_sig_tx_op_protection: L-SIG TXOP Protection Mechanism support
|
||||||
@@ -1699,6 +1702,30 @@ struct wlan_mlme_btm {
|
|||||||
uint32_t btm_sticky_time;
|
uint32_t btm_sticky_time;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* struct wlan_mlme_fe_wlm - WLM related configs
|
||||||
|
* @latency_enable: Flag to check if latency is enabled
|
||||||
|
* @latency_level: WLM latency level
|
||||||
|
* @latency_flags: WLM latency flags setting
|
||||||
|
*/
|
||||||
|
struct wlan_mlme_fe_wlm {
|
||||||
|
bool latency_enable;
|
||||||
|
uint8_t latency_level;
|
||||||
|
uint32_t latency_flags[MLME_NUM_WLM_LATENCY_LEVEL];
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* struct wlan_mlme_fe_rrm - RRM related configs
|
||||||
|
* @rrm_enabled: Flag to check if RRM is enabled
|
||||||
|
* @rrm_rand_interval: RRM randomization interval
|
||||||
|
* @rm_capability: RM enabled capabilities IE
|
||||||
|
*/
|
||||||
|
struct wlan_mlme_fe_rrm {
|
||||||
|
bool rrm_enabled;
|
||||||
|
uint8_t rrm_rand_interval;
|
||||||
|
uint8_t rm_capability[MLME_RMENABLEDCAP_MAX_LEN];
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* struct wlan_mlme_cfg - MLME config items
|
* struct wlan_mlme_cfg - MLME config items
|
||||||
* @chainmask_cfg: VHT chainmask related cfg items
|
* @chainmask_cfg: VHT chainmask related cfg items
|
||||||
@@ -1731,6 +1758,8 @@ struct wlan_mlme_btm {
|
|||||||
* @wmm_params: WMM related CFG & INI Items
|
* @wmm_params: WMM related CFG & INI Items
|
||||||
* @wps_params: WPS related CFG itmes
|
* @wps_params: WPS related CFG itmes
|
||||||
* @btm: BTM related CFG itmes
|
* @btm: BTM related CFG itmes
|
||||||
|
* @wlm_config: WLM related CFG items
|
||||||
|
* @rrm_config: RRM related CFG items
|
||||||
*/
|
*/
|
||||||
struct wlan_mlme_cfg {
|
struct wlan_mlme_cfg {
|
||||||
struct wlan_mlme_chainmask chainmask_cfg;
|
struct wlan_mlme_chainmask chainmask_cfg;
|
||||||
@@ -1765,6 +1794,8 @@ struct wlan_mlme_cfg {
|
|||||||
struct wlan_mlme_wmm_params wmm_params;
|
struct wlan_mlme_wmm_params wmm_params;
|
||||||
struct wlan_mlme_wps_params wps_params;
|
struct wlan_mlme_wps_params wps_params;
|
||||||
struct wlan_mlme_btm btm;
|
struct wlan_mlme_btm btm;
|
||||||
|
struct wlan_mlme_fe_wlm wlm_config;
|
||||||
|
struct wlan_mlme_fe_rrm rrm_config;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -3194,4 +3194,18 @@ ucfg_mlme_get_mcc_feature(struct wlan_objmgr_psoc *psoc,
|
|||||||
{
|
{
|
||||||
return wlan_mlme_get_mcc_feature(psoc, value);
|
return wlan_mlme_get_mcc_feature(psoc, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ucfg_wlan_mlme_get_rrm_enabled() - Get the rrm enabled
|
||||||
|
* @psoc: pointer to psoc object
|
||||||
|
* @value: Value that needs to be get from the caller
|
||||||
|
*
|
||||||
|
* Return: QDF Status
|
||||||
|
*/
|
||||||
|
static inline
|
||||||
|
QDF_STATUS ucfg_wlan_mlme_get_rrm_enabled(struct wlan_objmgr_psoc *psoc,
|
||||||
|
bool *value)
|
||||||
|
{
|
||||||
|
return wlan_mlme_get_rrm_enabled(psoc, value);
|
||||||
|
}
|
||||||
#endif /* _WLAN_MLME_UCFG_API_H_ */
|
#endif /* _WLAN_MLME_UCFG_API_H_ */
|
||||||
|
@@ -3178,3 +3178,18 @@ QDF_STATUS wlan_mlme_set_sap_uapsd_flag(struct wlan_objmgr_psoc *psoc,
|
|||||||
|
|
||||||
return QDF_STATUS_SUCCESS;
|
return QDF_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QDF_STATUS wlan_mlme_get_rrm_enabled(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.rrm_config.rrm_enabled;
|
||||||
|
|
||||||
|
return QDF_STATUS_SUCCESS;
|
||||||
|
}
|
||||||
|
@@ -1268,209 +1268,6 @@ enum hdd_dot11_mode {
|
|||||||
#define CFG_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW_MAX (1)
|
#define CFG_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW_MAX (1)
|
||||||
#define CFG_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW_DEFAULT (0)
|
#define CFG_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW_DEFAULT (0)
|
||||||
|
|
||||||
/*
|
|
||||||
* <ini>
|
|
||||||
* wlm_latency_enable - WLM latency Enable
|
|
||||||
*
|
|
||||||
* @min: 0
|
|
||||||
* @max: 1
|
|
||||||
* @default: 0
|
|
||||||
*
|
|
||||||
* 0 - disable
|
|
||||||
* 1 - enable
|
|
||||||
*
|
|
||||||
* </ini>
|
|
||||||
*/
|
|
||||||
#define CFG_LATENCY_ENABLE_NAME "wlm_latency_enable"
|
|
||||||
#define CFG_LATENCY_ENABLE_MIN (0)
|
|
||||||
#define CFG_LATENCY_ENABLE_MAX (1)
|
|
||||||
#define CFG_LATENCY_ENABLE_DEFAULT (0)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* <ini>
|
|
||||||
* wlm_latency_level - WLM latency level
|
|
||||||
* Define 4 latency level to gain latency
|
|
||||||
*
|
|
||||||
* @min: 0
|
|
||||||
* @max: 3
|
|
||||||
* @defalut: 0
|
|
||||||
*
|
|
||||||
* 0 - normal
|
|
||||||
* 1 - moderate
|
|
||||||
* 2 - low
|
|
||||||
* 3 - ultralow
|
|
||||||
*
|
|
||||||
* </ini>
|
|
||||||
*/
|
|
||||||
#define CFG_LATENCY_LEVEL_NAME "wlm_latency_level"
|
|
||||||
#define CFG_LATENCY_LEVEL_MIN (0)
|
|
||||||
#define CFG_LATENCY_LEVEL_MAX (3)
|
|
||||||
#define CFG_LATENCY_LEVEL_DEFAULT (0)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* <ini>
|
|
||||||
* wlm_latency_flags_normal - WLM flags setting for normal level
|
|
||||||
*
|
|
||||||
* @min: 0x0
|
|
||||||
* @max: 0xffffffff
|
|
||||||
* @defalut: 0x0
|
|
||||||
*
|
|
||||||
* |31 12| 11 | 10 |9 8|7 6|5 4|3 2| 1 | 0 |
|
|
||||||
* +------+------+------+------+------+------+------+-----+-----+
|
|
||||||
* | RSVD | SSLP | CSLP | RSVD | Roam | RSVD | DWLT | DFS | SUP |
|
|
||||||
* +------+-------------+-------------+-------------------------+
|
|
||||||
* | WAL | PS | Roam | Scan |
|
|
||||||
*
|
|
||||||
* bit 0: Avoid scan request from HLOS if setting
|
|
||||||
* bit 1: Skip DFS channel SCAN if setting
|
|
||||||
* bit 2-3: Define policy of dwell time/duration for each foreign channel
|
|
||||||
* (b2 b3)
|
|
||||||
* (0 0 ): Default scan dwell time
|
|
||||||
* (0 1 ): Reserve
|
|
||||||
* (1 0 ): Shrink off channel dwell time
|
|
||||||
* (1 1 ): Reserve
|
|
||||||
* bit 4-5: Reserve for scan
|
|
||||||
* bit 6-7: Define roaming policy
|
|
||||||
* (b6 b7)
|
|
||||||
* (0 0 ): Default roaming behavior, allow roaming in all scenarios
|
|
||||||
* (0 1 ): Disallow all roaming
|
|
||||||
* (1 0 ): Allow roaming when final bmissed
|
|
||||||
* (1 1 ): Reserve
|
|
||||||
* bit 8-9: Reserve for roaming
|
|
||||||
* bit 10: Disable css power collapse if setting
|
|
||||||
* bit 11: Disable sys sleep if setting
|
|
||||||
* bit 12-31: Reserve for future useage
|
|
||||||
*
|
|
||||||
* </ini>
|
|
||||||
*/
|
|
||||||
#define CFG_LATENCY_FLAGS_NORMAL_NAME "wlm_latency_flags_normal"
|
|
||||||
#define CFG_LATENCY_FLAGS_NORMAL_MIN (0x0)
|
|
||||||
#define CFG_LATENCY_FLAGS_NORMAL_MAX (0xffffffff)
|
|
||||||
#define CFG_LATENCY_FLAGS_NORMAL_DEFAULT (0x0)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* <ini>
|
|
||||||
* wlm_latency_flags_moderate - WLM flags setting for moderate level
|
|
||||||
*
|
|
||||||
* @min: 0x0
|
|
||||||
* @max: 0xffffffff
|
|
||||||
* @defalut: 0x8
|
|
||||||
*
|
|
||||||
* |31 12| 11 | 10 |9 8|7 6|5 4|3 2| 1 | 0 |
|
|
||||||
* +------+------+------+------+------+------+------+-----+-----+
|
|
||||||
* | RSVD | SSLP | CSLP | RSVD | Roam | RSVD | DWLT | DFS | SUP |
|
|
||||||
* +------+-------------+-------------+-------------------------+
|
|
||||||
* | WAL | PS | Roam | Scan |
|
|
||||||
*
|
|
||||||
* bit 0: Avoid scan request from HLOS if setting
|
|
||||||
* bit 1: Skip DFS channel SCAN if setting
|
|
||||||
* bit 2-3: Define policy of dwell time/duration for each foreign channel
|
|
||||||
* (b2 b3)
|
|
||||||
* (0 0 ): Default scan dwell time
|
|
||||||
* (0 1 ): Reserve
|
|
||||||
* (1 0 ): Shrink off channel dwell time
|
|
||||||
* (1 1 ): Reserve
|
|
||||||
* bit 4-5: Reserve for scan
|
|
||||||
* bit 6-7: Define roaming policy
|
|
||||||
* (b6 b7)
|
|
||||||
* (0 0 ): Default roaming behavior, allow roaming in all scenarios
|
|
||||||
* (0 1 ): Disallow all roaming
|
|
||||||
* (1 0 ): Allow roaming when final bmissed
|
|
||||||
* (1 1 ): Reserve
|
|
||||||
* bit 8-9: Reserve for roaming
|
|
||||||
* bit 10: Disable css power collapse if setting
|
|
||||||
* bit 11: Disable sys sleep if setting
|
|
||||||
* bit 12-31: Reserve for future useage
|
|
||||||
*
|
|
||||||
* </ini>
|
|
||||||
*/
|
|
||||||
#define CFG_LATENCY_FLAGS_MODERATE_NAME "wlm_latency_flags_moderate"
|
|
||||||
#define CFG_LATENCY_FLAGS_MODERATE_MIN (0x0)
|
|
||||||
#define CFG_LATENCY_FLAGS_MODERATE_MAX (0xffffffff)
|
|
||||||
#define CFG_LATENCY_FLAGS_MODERATE_DEFAULT (0x8)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* <ini>
|
|
||||||
* wlm_latency_flags_low - WLM flags setting for low level
|
|
||||||
*
|
|
||||||
* @min: 0x0
|
|
||||||
* @max: 0xffffffff
|
|
||||||
* @defalut: 0xa
|
|
||||||
*
|
|
||||||
* |31 12| 11 | 10 |9 8|7 6|5 4|3 2| 1 | 0 |
|
|
||||||
* +------+------+------+------+------+------+------+-----+-----+
|
|
||||||
* | RSVD | SSLP | CSLP | RSVD | Roam | RSVD | DWLT | DFS | SUP |
|
|
||||||
* +------+-------------+-------------+-------------------------+
|
|
||||||
* | WAL | PS | Roam | Scan |
|
|
||||||
*
|
|
||||||
* bit 0: Avoid scan request from HLOS if setting
|
|
||||||
* bit 1: Skip DFS channel SCAN if setting
|
|
||||||
* bit 2-3: Define policy of dwell time/duration for each foreign channel
|
|
||||||
* (b2 b3)
|
|
||||||
* (0 0 ): Default scan dwell time
|
|
||||||
* (0 1 ): Reserve
|
|
||||||
* (1 0 ): Shrink off channel dwell time
|
|
||||||
* (1 1 ): Reserve
|
|
||||||
* bit 4-5: Reserve for scan
|
|
||||||
* bit 6-7: Define roaming policy
|
|
||||||
* (b6 b7)
|
|
||||||
* (0 0 ): Default roaming behavior, allow roaming in all scenarios
|
|
||||||
* (0 1 ): Disallow all roaming
|
|
||||||
* (1 0 ): Allow roaming when final bmissed
|
|
||||||
* (1 1 ): Reserve
|
|
||||||
* bit 8-9: Reserve for roaming
|
|
||||||
* bit 10: Disable css power collapse if setting
|
|
||||||
* bit 11: Disable sys sleep if setting
|
|
||||||
* bit 12-31: Reserve for future useage
|
|
||||||
*
|
|
||||||
* </ini>
|
|
||||||
*/
|
|
||||||
#define CFG_LATENCY_FLAGS_LOW_NAME "wlm_latency_flags_low"
|
|
||||||
#define CFG_LATENCY_FLAGS_LOW_MIN (0x0)
|
|
||||||
#define CFG_LATENCY_FLAGS_LOW_MAX (0xffffffff)
|
|
||||||
#define CFG_LATENCY_FLAGS_LOW_DEFAULT (0xa)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* <ini>
|
|
||||||
* wlm_latency_flags_ultralow - WLM flags setting for ultralow level
|
|
||||||
*
|
|
||||||
* @min: 0x0
|
|
||||||
* @max: 0xffffffff
|
|
||||||
* @defalut: 0xc83
|
|
||||||
*
|
|
||||||
* |31 12| 11 | 10 |9 8|7 6|5 4|3 2| 1 | 0 |
|
|
||||||
* +------+------+------+------+------+------+------+-----+-----+
|
|
||||||
* | RSVD | SSLP | CSLP | RSVD | Roam | RSVD | DWLT | DFS | SUP |
|
|
||||||
* +------+-------------+-------------+-------------------------+
|
|
||||||
* | WAL | PS | Roam | Scan |
|
|
||||||
*
|
|
||||||
* bit 0: Avoid scan request from HLOS if setting
|
|
||||||
* bit 1: Skip DFS channel SCAN if setting
|
|
||||||
* bit 2-3: Define policy of dwell time/duration for each foreign channel
|
|
||||||
* (b2 b3)
|
|
||||||
* (0 0 ): Default scan dwell time
|
|
||||||
* (0 1 ): Reserve
|
|
||||||
* (1 0 ): Shrink off channel dwell time
|
|
||||||
* (1 1 ): Reserve
|
|
||||||
* bit 4-5: Reserve for scan
|
|
||||||
* bit 6-7: Define roaming policy
|
|
||||||
* (b6 b7)
|
|
||||||
* (0 0 ): Default roaming behavior, allow roaming in all scenarios
|
|
||||||
* (0 1 ): Disallow all roaming
|
|
||||||
* (1 0 ): Allow roaming when final bmissed
|
|
||||||
* (1 1 ): Reserve
|
|
||||||
* bit 8-9: Reserve for roaming
|
|
||||||
* bit 10: Disable css power collapse if setting
|
|
||||||
* bit 11: Disable sys sleep if setting
|
|
||||||
* bit 12-31: Reserve for future useage
|
|
||||||
*
|
|
||||||
* </ini>
|
|
||||||
*/
|
|
||||||
#define CFG_LATENCY_FLAGS_ULTRALOW_NAME "wlm_latency_flags_ultralow"
|
|
||||||
#define CFG_LATENCY_FLAGS_ULTRALOW_MIN (0x0)
|
|
||||||
#define CFG_LATENCY_FLAGS_ULTRALOW_MAX (0xffffffff)
|
|
||||||
#define CFG_LATENCY_FLAGS_ULTRALOW_DEFAULT (0xc83)
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* <ini>
|
* <ini>
|
||||||
* gDot11Mode - SAP phy mode
|
* gDot11Mode - SAP phy mode
|
||||||
@@ -1797,79 +1594,6 @@ enum hdd_dot11_mode {
|
|||||||
#define CFG_TL_DELAYED_TRGR_FRM_INT_MAX (4294967295UL)
|
#define CFG_TL_DELAYED_TRGR_FRM_INT_MAX (4294967295UL)
|
||||||
#define CFG_TL_DELAYED_TRGR_FRM_INT_DEFAULT 3000
|
#define CFG_TL_DELAYED_TRGR_FRM_INT_DEFAULT 3000
|
||||||
|
|
||||||
/*
|
|
||||||
* <ini>
|
|
||||||
* gRrmEnable - Enable/Disable RRM
|
|
||||||
* @Min: 0
|
|
||||||
* @Max: 1
|
|
||||||
* @Default: 0
|
|
||||||
*
|
|
||||||
* This ini is used to controls the capabilities (11 k) included
|
|
||||||
* in the capabilities field.
|
|
||||||
*
|
|
||||||
* Related: None.
|
|
||||||
*
|
|
||||||
* Supported Feature: 11k
|
|
||||||
*
|
|
||||||
* Usage: Internal/External
|
|
||||||
*
|
|
||||||
* </ini>
|
|
||||||
*/
|
|
||||||
#define CFG_RRM_ENABLE_NAME "gRrmEnable"
|
|
||||||
#define CFG_RRM_ENABLE_MIN (0)
|
|
||||||
#define CFG_RRM_ENABLE_MAX (1)
|
|
||||||
#define CFG_RRM_ENABLE_DEFAULT (0)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* <ini>
|
|
||||||
* gRrmRandnIntvl - Randomization interval
|
|
||||||
* @Min: 10
|
|
||||||
* @Max: 100
|
|
||||||
* @Default: 100
|
|
||||||
*
|
|
||||||
* This ini is used to set randomization interval which is used to start a timer
|
|
||||||
* of a random value within randomization interval. Next RRM Scan request
|
|
||||||
* will be issued after the expiry of this random interval.
|
|
||||||
*
|
|
||||||
* Related: None.
|
|
||||||
*
|
|
||||||
* Supported Feature: 11k
|
|
||||||
*
|
|
||||||
* Usage: Internal/External
|
|
||||||
*
|
|
||||||
* </ini>
|
|
||||||
*/
|
|
||||||
#define CFG_RRM_MEAS_RANDOMIZATION_INTVL_NAME "gRrmRandnIntvl"
|
|
||||||
#define CFG_RRM_MEAS_RANDOMIZATION_INTVL_MIN (10)
|
|
||||||
#define CFG_RRM_MEAS_RANDOMIZATION_INTVL_MAX (100)
|
|
||||||
#define CFG_RRM_MEAS_RANDOMIZATION_INTVL_DEFAULT (100)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* <ini>
|
|
||||||
* rm_capability - Configure RM enabled capabilities IE
|
|
||||||
* @Min: N/A
|
|
||||||
* @Max: N/A
|
|
||||||
* @Default: 73,10,91,00,04
|
|
||||||
*
|
|
||||||
* This ini is used to configure RM enabled capabilities IE.
|
|
||||||
* Using this INI, we can set/unset any of the bits in 5 bytes
|
|
||||||
* (last 4bytes are reserved). Bit details are updated as per
|
|
||||||
* Draft version of 11mc spec. (Draft P802.11REVmc_D4.2)
|
|
||||||
*
|
|
||||||
* Bitwise details are defined as bit mask in rrm_global.h
|
|
||||||
* Comma is used as a separator for each byte.
|
|
||||||
*
|
|
||||||
* Related: None.
|
|
||||||
*
|
|
||||||
* Supported Feature: 11k
|
|
||||||
*
|
|
||||||
* Usage: Internal/External
|
|
||||||
*
|
|
||||||
* </ini>
|
|
||||||
*/
|
|
||||||
#define CFG_RM_CAPABILITY_NAME "rm_capability"
|
|
||||||
#define CFG_RM_CAPABILITY_DEFAULT "73,10,91,00,04"
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* <ini>
|
* <ini>
|
||||||
* gHwFilterMode - configure hardware filter for DTIM mode
|
* gHwFilterMode - configure hardware filter for DTIM mode
|
||||||
@@ -3855,10 +3579,6 @@ struct hdd_config {
|
|||||||
bool apProtEnabled;
|
bool apProtEnabled;
|
||||||
uint8_t nTxPowerCap; /* In dBm */
|
uint8_t nTxPowerCap; /* In dBm */
|
||||||
uint8_t disablePacketFilter;
|
uint8_t disablePacketFilter;
|
||||||
bool fRrmEnable;
|
|
||||||
uint16_t nRrmRandnIntvl;
|
|
||||||
/* length includes separator */
|
|
||||||
char rm_capability[3 * DOT11F_IE_RRMENABLEDCAP_MAX_LEN];
|
|
||||||
|
|
||||||
#ifdef FEATURE_WLAN_DYNAMIC_CVM
|
#ifdef FEATURE_WLAN_DYNAMIC_CVM
|
||||||
/* Bitmap for operating voltage corner mode */
|
/* Bitmap for operating voltage corner mode */
|
||||||
@@ -4059,12 +3779,6 @@ struct hdd_config {
|
|||||||
bool enable_lprx;
|
bool enable_lprx;
|
||||||
uint32_t scan_11d_interval;
|
uint32_t scan_11d_interval;
|
||||||
bool is_bssid_hint_priority;
|
bool is_bssid_hint_priority;
|
||||||
uint16_t wlm_latency_enable;
|
|
||||||
uint16_t wlm_latency_level;
|
|
||||||
uint32_t wlm_latency_flags_normal;
|
|
||||||
uint32_t wlm_latency_flags_moderate;
|
|
||||||
uint32_t wlm_latency_flags_low;
|
|
||||||
uint32_t wlm_latency_flags_ultralow;
|
|
||||||
#ifdef WLAN_FEATURE_PACKET_FILTERING
|
#ifdef WLAN_FEATURE_PACKET_FILTERING
|
||||||
uint8_t packet_filters_bitmap;
|
uint8_t packet_filters_bitmap;
|
||||||
#endif
|
#endif
|
||||||
|
@@ -255,25 +255,6 @@ struct reg_table_entry g_registry_table[] = {
|
|||||||
CFG_TL_DELAYED_TRGR_FRM_INT_MIN,
|
CFG_TL_DELAYED_TRGR_FRM_INT_MIN,
|
||||||
CFG_TL_DELAYED_TRGR_FRM_INT_MAX),
|
CFG_TL_DELAYED_TRGR_FRM_INT_MAX),
|
||||||
|
|
||||||
REG_VARIABLE(CFG_RRM_ENABLE_NAME, WLAN_PARAM_Integer,
|
|
||||||
struct hdd_config, fRrmEnable,
|
|
||||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
|
||||||
CFG_RRM_ENABLE_DEFAULT,
|
|
||||||
CFG_RRM_ENABLE_MIN,
|
|
||||||
CFG_RRM_ENABLE_MAX),
|
|
||||||
|
|
||||||
REG_VARIABLE(CFG_RRM_MEAS_RANDOMIZATION_INTVL_NAME, WLAN_PARAM_Integer,
|
|
||||||
struct hdd_config, nRrmRandnIntvl,
|
|
||||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
|
||||||
CFG_RRM_MEAS_RANDOMIZATION_INTVL_DEFAULT,
|
|
||||||
CFG_RRM_MEAS_RANDOMIZATION_INTVL_MIN,
|
|
||||||
CFG_RRM_MEAS_RANDOMIZATION_INTVL_MAX),
|
|
||||||
|
|
||||||
REG_VARIABLE_STRING(CFG_RM_CAPABILITY_NAME, WLAN_PARAM_String,
|
|
||||||
struct hdd_config, rm_capability,
|
|
||||||
VAR_FLAGS_OPTIONAL,
|
|
||||||
(void *) CFG_RM_CAPABILITY_DEFAULT),
|
|
||||||
|
|
||||||
#ifdef FEATURE_WLAN_RA_FILTERING
|
#ifdef FEATURE_WLAN_RA_FILTERING
|
||||||
|
|
||||||
REG_VARIABLE(CFG_RA_RATE_LIMIT_INTERVAL_NAME, WLAN_PARAM_Integer,
|
REG_VARIABLE(CFG_RA_RATE_LIMIT_INTERVAL_NAME, WLAN_PARAM_Integer,
|
||||||
@@ -883,48 +864,6 @@ struct reg_table_entry g_registry_table[] = {
|
|||||||
CFG_IS_BSSID_HINT_PRIORITY_MIN,
|
CFG_IS_BSSID_HINT_PRIORITY_MIN,
|
||||||
CFG_IS_BSSID_HINT_PRIORITY_MAX),
|
CFG_IS_BSSID_HINT_PRIORITY_MAX),
|
||||||
|
|
||||||
REG_VARIABLE(CFG_LATENCY_ENABLE_NAME, WLAN_PARAM_Integer,
|
|
||||||
struct hdd_config, wlm_latency_enable,
|
|
||||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
|
||||||
CFG_LATENCY_ENABLE_DEFAULT,
|
|
||||||
CFG_LATENCY_ENABLE_MIN,
|
|
||||||
CFG_LATENCY_ENABLE_MAX),
|
|
||||||
|
|
||||||
REG_VARIABLE(CFG_LATENCY_LEVEL_NAME, WLAN_PARAM_Integer,
|
|
||||||
struct hdd_config, wlm_latency_level,
|
|
||||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
|
||||||
CFG_LATENCY_LEVEL_DEFAULT,
|
|
||||||
CFG_LATENCY_LEVEL_MIN,
|
|
||||||
CFG_LATENCY_LEVEL_MAX),
|
|
||||||
|
|
||||||
REG_VARIABLE(CFG_LATENCY_FLAGS_NORMAL_NAME, WLAN_PARAM_HexInteger,
|
|
||||||
struct hdd_config, wlm_latency_flags_normal,
|
|
||||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
|
||||||
CFG_LATENCY_FLAGS_NORMAL_DEFAULT,
|
|
||||||
CFG_LATENCY_FLAGS_NORMAL_MIN,
|
|
||||||
CFG_LATENCY_FLAGS_NORMAL_MAX),
|
|
||||||
|
|
||||||
REG_VARIABLE(CFG_LATENCY_FLAGS_MODERATE_NAME, WLAN_PARAM_HexInteger,
|
|
||||||
struct hdd_config, wlm_latency_flags_moderate,
|
|
||||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
|
||||||
CFG_LATENCY_FLAGS_MODERATE_DEFAULT,
|
|
||||||
CFG_LATENCY_FLAGS_MODERATE_MIN,
|
|
||||||
CFG_LATENCY_FLAGS_MODERATE_MAX),
|
|
||||||
|
|
||||||
REG_VARIABLE(CFG_LATENCY_FLAGS_LOW_NAME, WLAN_PARAM_HexInteger,
|
|
||||||
struct hdd_config, wlm_latency_flags_low,
|
|
||||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
|
||||||
CFG_LATENCY_FLAGS_LOW_DEFAULT,
|
|
||||||
CFG_LATENCY_FLAGS_LOW_MIN,
|
|
||||||
CFG_LATENCY_FLAGS_LOW_MAX),
|
|
||||||
|
|
||||||
REG_VARIABLE(CFG_LATENCY_FLAGS_ULTRALOW_NAME, WLAN_PARAM_HexInteger,
|
|
||||||
struct hdd_config, wlm_latency_flags_ultralow,
|
|
||||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
|
||||||
CFG_LATENCY_FLAGS_ULTRALOW_DEFAULT,
|
|
||||||
CFG_LATENCY_FLAGS_ULTRALOW_MIN,
|
|
||||||
CFG_LATENCY_FLAGS_ULTRALOW_MAX),
|
|
||||||
|
|
||||||
#ifdef WLAN_FEATURE_SAE
|
#ifdef WLAN_FEATURE_SAE
|
||||||
REG_VARIABLE(CFG_IS_SAE_ENABLED_NAME, WLAN_PARAM_Integer,
|
REG_VARIABLE(CFG_IS_SAE_ENABLED_NAME, WLAN_PARAM_Integer,
|
||||||
struct hdd_config, is_sae_enabled,
|
struct hdd_config, is_sae_enabled,
|
||||||
@@ -2250,26 +2189,6 @@ static QDF_STATUS hdd_convert_string_to_array(char *str, uint8_t *array,
|
|||||||
return QDF_STATUS_SUCCESS;
|
return QDF_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* hdd_hex_string_to_u8_array() - used to convert hex string into u8 array
|
|
||||||
* @str: Hexadecimal string
|
|
||||||
* @hex_array: Array where converted value is stored
|
|
||||||
* @len: Length of the populated array
|
|
||||||
* @array_max_len: Maximum length of the array
|
|
||||||
*
|
|
||||||
* This API is called to convert hexadecimal string (each byte separated by
|
|
||||||
* a comma) into an u8 array
|
|
||||||
*
|
|
||||||
* Return: QDF_STATUS
|
|
||||||
*/
|
|
||||||
static QDF_STATUS hdd_hex_string_to_u8_array(char *str, uint8_t *hex_array,
|
|
||||||
uint8_t *len,
|
|
||||||
uint8_t array_max_len)
|
|
||||||
{
|
|
||||||
return hdd_convert_string_to_array(str, hex_array, len,
|
|
||||||
array_max_len, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
QDF_STATUS hdd_string_to_u8_array(char *str, uint8_t *array,
|
QDF_STATUS hdd_string_to_u8_array(char *str, uint8_t *array,
|
||||||
uint8_t *len, uint16_t array_max_len)
|
uint8_t *len, uint16_t array_max_len)
|
||||||
{
|
{
|
||||||
@@ -2623,7 +2542,6 @@ QDF_STATUS hdd_set_sme_config(struct hdd_context *hdd_ctx)
|
|||||||
{
|
{
|
||||||
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
||||||
tSmeConfigParams *smeConfig;
|
tSmeConfigParams *smeConfig;
|
||||||
uint8_t rrm_capab_len;
|
|
||||||
mac_handle_t mac_handle = hdd_ctx->mac_handle;
|
mac_handle_t mac_handle = hdd_ctx->mac_handle;
|
||||||
bool roam_scan_enabled;
|
bool roam_scan_enabled;
|
||||||
#ifdef FEATURE_WLAN_ESE
|
#ifdef FEATURE_WLAN_ESE
|
||||||
@@ -2674,11 +2592,6 @@ QDF_STATUS hdd_set_sme_config(struct hdd_context *hdd_ctx)
|
|||||||
smeConfig->csrConfig.nRestTimeConc = pConfig->nRestTimeConc;
|
smeConfig->csrConfig.nRestTimeConc = pConfig->nRestTimeConc;
|
||||||
smeConfig->csrConfig.min_rest_time_conc = pConfig->min_rest_time_conc;
|
smeConfig->csrConfig.min_rest_time_conc = pConfig->min_rest_time_conc;
|
||||||
smeConfig->csrConfig.idle_time_conc = pConfig->idle_time_conc;
|
smeConfig->csrConfig.idle_time_conc = pConfig->idle_time_conc;
|
||||||
smeConfig->rrmConfig.rrm_enabled = pConfig->fRrmEnable;
|
|
||||||
smeConfig->rrmConfig.max_randn_interval = pConfig->nRrmRandnIntvl;
|
|
||||||
hdd_hex_string_to_u8_array(pConfig->rm_capability,
|
|
||||||
smeConfig->rrmConfig.rm_capability, &rrm_capab_len,
|
|
||||||
DOT11F_IE_RRMENABLEDCAP_MAX_LEN);
|
|
||||||
/* Remaining config params not obtained from registry
|
/* Remaining config params not obtained from registry
|
||||||
* On RF EVB beacon using channel 1.
|
* On RF EVB beacon using channel 1.
|
||||||
*/
|
*/
|
||||||
@@ -2757,18 +2670,6 @@ QDF_STATUS hdd_set_sme_config(struct hdd_context *hdd_ctx)
|
|||||||
|
|
||||||
hdd_he_set_sme_config(smeConfig, pConfig);
|
hdd_he_set_sme_config(smeConfig, pConfig);
|
||||||
|
|
||||||
smeConfig->csrConfig.wlm_latency_enable =
|
|
||||||
hdd_ctx->config->wlm_latency_enable;
|
|
||||||
smeConfig->csrConfig.wlm_latency_level =
|
|
||||||
hdd_ctx->config->wlm_latency_level;
|
|
||||||
smeConfig->csrConfig.wlm_latency_flags[0] =
|
|
||||||
hdd_ctx->config->wlm_latency_flags_normal;
|
|
||||||
smeConfig->csrConfig.wlm_latency_flags[1] =
|
|
||||||
hdd_ctx->config->wlm_latency_flags_moderate;
|
|
||||||
smeConfig->csrConfig.wlm_latency_flags[2] =
|
|
||||||
hdd_ctx->config->wlm_latency_flags_low;
|
|
||||||
smeConfig->csrConfig.wlm_latency_flags[3] =
|
|
||||||
hdd_ctx->config->wlm_latency_flags_ultralow;
|
|
||||||
status = hdd_set_sme_cfgs_related_to_mlme(hdd_ctx, smeConfig);
|
status = hdd_set_sme_cfgs_related_to_mlme(hdd_ctx, smeConfig);
|
||||||
if (!QDF_IS_STATUS_SUCCESS(status))
|
if (!QDF_IS_STATUS_SUCCESS(status))
|
||||||
hdd_err("hdd_set_sme_cfgs_related_to_mlme() fail: %d", status);
|
hdd_err("hdd_set_sme_cfgs_related_to_mlme() fail: %d", status);
|
||||||
|
@@ -5469,7 +5469,6 @@ static int __iw_setchar_getnone(struct net_device *dev,
|
|||||||
char *str_arg = NULL;
|
char *str_arg = NULL;
|
||||||
struct hdd_adapter *adapter = (netdev_priv(dev));
|
struct hdd_adapter *adapter = (netdev_priv(dev));
|
||||||
struct hdd_context *hdd_ctx = WLAN_HDD_GET_CTX(adapter);
|
struct hdd_context *hdd_ctx = WLAN_HDD_GET_CTX(adapter);
|
||||||
struct hdd_config *pConfig = hdd_ctx->config;
|
|
||||||
struct iw_point s_priv_data;
|
struct iw_point s_priv_data;
|
||||||
|
|
||||||
hdd_enter_dev(dev);
|
hdd_enter_dev(dev);
|
||||||
@@ -5521,8 +5520,12 @@ static int __iw_setchar_getnone(struct net_device *dev,
|
|||||||
{
|
{
|
||||||
tRrmNeighborReq neighborReq;
|
tRrmNeighborReq neighborReq;
|
||||||
tRrmNeighborRspCallbackInfo callbackInfo;
|
tRrmNeighborRspCallbackInfo callbackInfo;
|
||||||
|
bool rrm_enabled = false;
|
||||||
|
|
||||||
if (pConfig->fRrmEnable) {
|
ucfg_wlan_mlme_get_rrm_enabled(hdd_ctx->psoc,
|
||||||
|
&rrm_enabled);
|
||||||
|
|
||||||
|
if (rrm_enabled) {
|
||||||
neighborReq.neighbor_report_offload = false;
|
neighborReq.neighbor_report_offload = false;
|
||||||
neighborReq.no_ssid =
|
neighborReq.no_ssid =
|
||||||
(s_priv_data.length - 1) ? false : true;
|
(s_priv_data.length - 1) ? false : true;
|
||||||
|
@@ -31,7 +31,6 @@
|
|||||||
#include "wlan_scan_public_structs.h"
|
#include "wlan_scan_public_structs.h"
|
||||||
|
|
||||||
#define CSR_INVALID_SCANRESULT_HANDLE (NULL)
|
#define CSR_INVALID_SCANRESULT_HANDLE (NULL)
|
||||||
#define CSR_NUM_WLM_LATENCY_LEVEL 4
|
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
/* never used */
|
/* never used */
|
||||||
@@ -1127,9 +1126,6 @@ typedef struct tagCsrConfigParam {
|
|||||||
bool enable_ul_ofdma;
|
bool enable_ul_ofdma;
|
||||||
bool enable_ul_mimo;
|
bool enable_ul_mimo;
|
||||||
#endif
|
#endif
|
||||||
uint16_t wlm_latency_enable;
|
|
||||||
uint16_t wlm_latency_level;
|
|
||||||
uint32_t wlm_latency_flags[CSR_NUM_WLM_LATENCY_LEVEL];
|
|
||||||
bool is_force_1x1;
|
bool is_force_1x1;
|
||||||
uint8_t oce_feature_bitmap;
|
uint8_t oce_feature_bitmap;
|
||||||
uint32_t offload_11k_enable_bitmask;
|
uint32_t offload_11k_enable_bitmask;
|
||||||
|
@@ -462,9 +462,6 @@ struct csr_config {
|
|||||||
bool enable_ul_mimo;
|
bool enable_ul_mimo;
|
||||||
#endif
|
#endif
|
||||||
bool is_force_1x1;
|
bool is_force_1x1;
|
||||||
uint16_t wlm_latency_enable;
|
|
||||||
uint16_t wlm_latency_level;
|
|
||||||
uint32_t wlm_latency_flags[CSR_NUM_WLM_LATENCY_LEVEL];
|
|
||||||
uint8_t oce_feature_bitmap;
|
uint8_t oce_feature_bitmap;
|
||||||
uint32_t offload_11k_enable_bitmask;
|
uint32_t offload_11k_enable_bitmask;
|
||||||
bool wep_tkip_in_he;
|
bool wep_tkip_in_he;
|
||||||
|
@@ -41,8 +41,6 @@ QDF_STATUS sme_rrm_msg_processor(struct mac_context *mac, uint16_t msg_type,
|
|||||||
void *pMsgBuf);
|
void *pMsgBuf);
|
||||||
QDF_STATUS rrm_close(struct mac_context *mac);
|
QDF_STATUS rrm_close(struct mac_context *mac);
|
||||||
QDF_STATUS rrm_open(struct mac_context *mac);
|
QDF_STATUS rrm_open(struct mac_context *mac);
|
||||||
QDF_STATUS rrm_change_default_config_param(struct mac_context *mac,
|
|
||||||
struct rrm_config_param *rrm_config);
|
|
||||||
QDF_STATUS sme_rrm_neighbor_report_request(struct mac_context *mac,
|
QDF_STATUS sme_rrm_neighbor_report_request(struct mac_context *mac,
|
||||||
uint8_t sessionId, tpRrmNeighborReq pNeighborReq,
|
uint8_t sessionId, tpRrmNeighborReq pNeighborReq,
|
||||||
tpRrmNeighborRspCallbackInfo callbackInfo);
|
tpRrmNeighborRspCallbackInfo callbackInfo);
|
||||||
|
@@ -940,13 +940,6 @@ QDF_STATUS sme_update_config(mac_handle_t mac_handle, tpSmeConfigParams
|
|||||||
sme_err("csr_change_default_config_param failed status: %d",
|
sme_err("csr_change_default_config_param failed status: %d",
|
||||||
status);
|
status);
|
||||||
|
|
||||||
status = rrm_change_default_config_param(mac, &pSmeConfigParams->
|
|
||||||
rrmConfig);
|
|
||||||
|
|
||||||
if (!QDF_IS_STATUS_SUCCESS(status))
|
|
||||||
sme_err("rrm_change_default_config_param failed status: %d",
|
|
||||||
status);
|
|
||||||
|
|
||||||
/* For SOC, CFG is set before start We don't want to apply global CFG
|
/* For SOC, CFG is set before start We don't want to apply global CFG
|
||||||
* in connect state because that may cause some side affect
|
* in connect state because that may cause some side affect
|
||||||
*/
|
*/
|
||||||
@@ -8710,7 +8703,7 @@ QDF_STATUS sme_set_wlm_latency_level(mac_handle_t mac_handle,
|
|||||||
if (!wma)
|
if (!wma)
|
||||||
return QDF_STATUS_E_FAILURE;
|
return QDF_STATUS_E_FAILURE;
|
||||||
|
|
||||||
if (!mac_ctx->roam.configParam.wlm_latency_enable) {
|
if (!mac_ctx->mlme_cfg->wlm_config.latency_enable) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
|
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
|
||||||
"%s: WLM latency level setting is disabled",
|
"%s: WLM latency level setting is disabled",
|
||||||
__func__);
|
__func__);
|
||||||
@@ -8723,7 +8716,7 @@ QDF_STATUS sme_set_wlm_latency_level(mac_handle_t mac_handle,
|
|||||||
|
|
||||||
params.wlm_latency_level = latency_level;
|
params.wlm_latency_level = latency_level;
|
||||||
params.wlm_latency_flags =
|
params.wlm_latency_flags =
|
||||||
mac_ctx->roam.configParam.wlm_latency_flags[latency_level];
|
mac_ctx->mlme_cfg->wlm_config.latency_flags[latency_level];
|
||||||
params.vdev_id = session_id;
|
params.vdev_id = session_id;
|
||||||
|
|
||||||
status = wma_set_wlm_latency_level(wma, ¶ms);
|
status = wma_set_wlm_latency_level(wma, ¶ms);
|
||||||
|
@@ -2479,7 +2479,6 @@ QDF_STATUS csr_change_default_config_param(struct mac_context *mac,
|
|||||||
tCsrConfigParam *pParam)
|
tCsrConfigParam *pParam)
|
||||||
{
|
{
|
||||||
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
||||||
int i;
|
|
||||||
|
|
||||||
if (pParam) {
|
if (pParam) {
|
||||||
mac->roam.configParam.is_force_1x1 =
|
mac->roam.configParam.is_force_1x1 =
|
||||||
@@ -2726,14 +2725,6 @@ QDF_STATUS csr_change_default_config_param(struct mac_context *mac,
|
|||||||
pParam->enable_bcast_probe_rsp;
|
pParam->enable_bcast_probe_rsp;
|
||||||
mac->roam.configParam.is_fils_enabled =
|
mac->roam.configParam.is_fils_enabled =
|
||||||
pParam->is_fils_enabled;
|
pParam->is_fils_enabled;
|
||||||
mac->roam.configParam.wlm_latency_enable =
|
|
||||||
pParam->wlm_latency_enable;
|
|
||||||
mac->roam.configParam.wlm_latency_level =
|
|
||||||
pParam->wlm_latency_level;
|
|
||||||
for (i = 0; i < CSR_NUM_WLM_LATENCY_LEVEL; i++) {
|
|
||||||
mac->roam.configParam.wlm_latency_flags[i] =
|
|
||||||
pParam->wlm_latency_flags[i];
|
|
||||||
}
|
|
||||||
mac->roam.configParam.oce_feature_bitmap =
|
mac->roam.configParam.oce_feature_bitmap =
|
||||||
pParam->oce_feature_bitmap;
|
pParam->oce_feature_bitmap;
|
||||||
mac->roam.configParam.roam_force_rssi_trigger =
|
mac->roam.configParam.roam_force_rssi_trigger =
|
||||||
@@ -2780,7 +2771,6 @@ void csr_get_11k_offload_config_param(struct csr_config *csr_config,
|
|||||||
|
|
||||||
QDF_STATUS csr_get_config_param(struct mac_context *mac, tCsrConfigParam *pParam)
|
QDF_STATUS csr_get_config_param(struct mac_context *mac, tCsrConfigParam *pParam)
|
||||||
{
|
{
|
||||||
int i;
|
|
||||||
struct csr_config *cfg_params = &mac->roam.configParam;
|
struct csr_config *cfg_params = &mac->roam.configParam;
|
||||||
|
|
||||||
if (!pParam)
|
if (!pParam)
|
||||||
@@ -2886,13 +2876,6 @@ QDF_STATUS csr_get_config_param(struct mac_context *mac, tCsrConfigParam *pParam
|
|||||||
|
|
||||||
csr_get_11k_offload_config_param(&mac->roam.configParam, pParam);
|
csr_get_11k_offload_config_param(&mac->roam.configParam, pParam);
|
||||||
|
|
||||||
pParam->wlm_latency_enable = mac->roam.configParam.wlm_latency_enable;
|
|
||||||
pParam->wlm_latency_level = mac->roam.configParam.wlm_latency_level;
|
|
||||||
for (i = 0; i < CSR_NUM_WLM_LATENCY_LEVEL; i++) {
|
|
||||||
pParam->wlm_latency_flags[i] =
|
|
||||||
mac->roam.configParam.wlm_latency_flags[i];
|
|
||||||
}
|
|
||||||
|
|
||||||
return QDF_STATUS_SUCCESS;
|
return QDF_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1408,6 +1408,24 @@ static void rrm_neighbor_rsp_timeout_handler(void *userData)
|
|||||||
rrm_indicate_neighbor_report_result(mac, QDF_STATUS_E_FAILURE);
|
rrm_indicate_neighbor_report_result(mac, QDF_STATUS_E_FAILURE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* rrm_change_default_config_param() - Changing default config param to new
|
||||||
|
* @mac - The handle returned by mac_open.
|
||||||
|
*
|
||||||
|
* Return: None
|
||||||
|
*/
|
||||||
|
static void rrm_change_default_config_param(struct mac_context *mac)
|
||||||
|
{
|
||||||
|
mac->rrm.rrmSmeContext.rrmConfig.rrm_enabled =
|
||||||
|
mac->mlme_cfg->rrm_config.rrm_enabled;
|
||||||
|
mac->rrm.rrmSmeContext.rrmConfig.max_randn_interval =
|
||||||
|
mac->mlme_cfg->rrm_config.rrm_rand_interval;
|
||||||
|
|
||||||
|
qdf_mem_copy(&mac->rrm.rrmSmeContext.rrmConfig.rm_capability,
|
||||||
|
&mac->mlme_cfg->rrm_config.rm_capability,
|
||||||
|
RMENABLEDCAP_MAX_LEN);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* rrm_open() - Initialze all RRM module
|
* rrm_open() - Initialze all RRM module
|
||||||
* @ mac: The handle returned by mac_open.
|
* @ mac: The handle returned by mac_open.
|
||||||
@@ -1454,6 +1472,8 @@ QDF_STATUS rrm_open(struct mac_context *mac)
|
|||||||
return QDF_STATUS_E_FAILURE;
|
return QDF_STATUS_E_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rrm_change_default_config_param(mac);
|
||||||
|
|
||||||
return QDF_STATUS_SUCCESS;
|
return QDF_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1521,23 +1541,6 @@ QDF_STATUS rrm_close(struct mac_context *mac)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* rrm_change_default_config_param() - Changing default config param to new
|
|
||||||
* @mac - The handle returned by mac_open.
|
|
||||||
* param pRrmConfig - pointer to new rrm configs.
|
|
||||||
*
|
|
||||||
* Return: QDF_STATUS
|
|
||||||
* QDF_STATUS_SUCCESS success
|
|
||||||
*/
|
|
||||||
QDF_STATUS rrm_change_default_config_param(struct mac_context *mac,
|
|
||||||
struct rrm_config_param *rrm_config)
|
|
||||||
{
|
|
||||||
qdf_mem_copy(&mac->rrm.rrmSmeContext.rrmConfig, rrm_config,
|
|
||||||
sizeof(struct rrm_config_param));
|
|
||||||
|
|
||||||
return QDF_STATUS_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
QDF_STATUS rrm_start(struct mac_context *mac_ctx)
|
QDF_STATUS rrm_start(struct mac_context *mac_ctx)
|
||||||
{
|
{
|
||||||
tpRrmSMEContext smerrmctx = &mac_ctx->rrm.rrmSmeContext;
|
tpRrmSMEContext smerrmctx = &mac_ctx->rrm.rrmSmeContext;
|
||||||
|
Reference in New Issue
Block a user