qcacld-3.0: Replace channel with frequency in wlan_mlme_reg

Replace channel ID with frequency in struct wlan_mlme_reg.

Change-Id: I71fcec5014e451cf912f187c79a1939d2d7e54ad
CRs-Fixed: 2518897
This commit is contained in:
Tushnim Bhattacharyya
2019-08-30 13:50:15 -07:00
committed by nshrivas
parent 82f55edc88
commit d1d0db9db2
11 changed files with 90 additions and 45 deletions

View File

@@ -2270,6 +2270,9 @@ static void mlme_init_reg_cfg(struct wlan_objmgr_psoc *psoc,
struct wlan_mlme_reg *reg)
{
qdf_size_t valid_channel_list_num = 0;
uint8_t channel_list[CFG_VALID_CHANNEL_LIST_LEN];
uint8_t i;
struct wlan_objmgr_pdev *pdev = NULL;
reg->self_gen_frm_pwr = cfg_get(psoc, CFG_SELF_GEN_FRM_PWR);
reg->etsi13_srd_chan_in_master_mode =
@@ -2281,10 +2284,23 @@ static void mlme_init_reg_cfg(struct wlan_objmgr_psoc *psoc,
CFG_ENABLE_11D_IN_WORLD_MODE);
reg->scan_11d_interval = cfg_get(psoc, CFG_SCAN_11D_INTERVAL);
qdf_uint8_array_parse(cfg_default(CFG_VALID_CHANNEL_LIST),
reg->valid_channel_list,
channel_list,
CFG_VALID_CHANNEL_LIST_LEN,
&valid_channel_list_num);
reg->valid_channel_list_num = (uint8_t)valid_channel_list_num;
pdev = wlan_objmgr_get_pdev_by_id(psoc, 0, WLAN_MLME_NB_ID);
if (!pdev) {
mlme_legacy_err("null pdev");
return;
}
for (i = 0; i < valid_channel_list_num; i++)
reg->valid_channel_freq_list[i] =
wlan_reg_chan_to_freq(pdev, channel_list[i]);
wlan_objmgr_pdev_release_ref(pdev, WLAN_MLME_NB_ID);
qdf_str_lcopy(reg->country_code, cfg_default(CFG_COUNTRY_CODE),
sizeof(reg->country_code));
reg->country_code_len = (uint8_t)sizeof(reg->country_code);

View File

@@ -2040,7 +2040,7 @@ struct wlan_mlme_mwc {
* @restart_beaconing_on_ch_avoid: restart beaconing on ch avoid
* @indoor_channel_support: indoor channel support
* @scan_11d_interval: scan 11d interval
* @valid_channel_list: array for valid channel list
* @valid_channel_freq_list: array for valid channel list
* @valid_channel_list_num: valid channel list number
* @country_code: country code
* @country_code_len: country code length
@@ -2056,7 +2056,7 @@ struct wlan_mlme_reg {
restart_beaconing_on_ch_avoid;
bool indoor_channel_support;
uint32_t scan_11d_interval;
uint8_t valid_channel_list[CFG_VALID_CHANNEL_LIST_LEN];
uint32_t valid_channel_freq_list[CFG_VALID_CHANNEL_LIST_LEN];
uint8_t valid_channel_list_num;
uint8_t country_code[CFG_COUNTRY_CODE_LEN + 1];
uint8_t country_code_len;

View File

@@ -3732,7 +3732,8 @@ ucfg_mlme_get_scan_11d_interval(struct wlan_objmgr_psoc *psoc,
uint32_t *value);
/**
* ucfg_mlme_get_valid_channel_list() - get valid channel list
* ucfg_mlme_get_valid_channel_freq_list() - get valid channel
* list
* @psoc: pointer to psoc object
* @channel_list: pointer to return channel list
* @channel_list_num: pointer to return channel list number
@@ -3740,9 +3741,9 @@ ucfg_mlme_get_scan_11d_interval(struct wlan_objmgr_psoc *psoc,
* Return: QDF Status
*/
QDF_STATUS
ucfg_mlme_get_valid_channel_list(struct wlan_objmgr_psoc *psoc,
uint8_t *channel_list,
uint32_t *channel_list_num);
ucfg_mlme_get_valid_channel_freq_list(struct wlan_objmgr_psoc *psoc,
uint32_t *channel_list,
uint32_t *channel_list_num);
#ifdef FEATURE_LFR_SUBNET_DETECTION
/**

View File

@@ -1500,27 +1500,43 @@ ucfg_mlme_get_scan_11d_interval(struct wlan_objmgr_psoc *psoc,
}
QDF_STATUS
ucfg_mlme_get_valid_channel_list(struct wlan_objmgr_psoc *psoc,
uint8_t *channel_list,
uint32_t *channel_list_num)
ucfg_mlme_get_valid_channel_freq_list(struct wlan_objmgr_psoc *psoc,
uint32_t *channel_list,
uint32_t *channel_list_num)
{
struct wlan_mlme_psoc_obj *mlme_obj;
qdf_size_t valid_channel_list_num = 0;
uint8_t tmp_channel_list[CFG_VALID_CHANNEL_LIST_LEN];
uint8_t i;
struct wlan_objmgr_pdev *pdev = NULL;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
qdf_uint8_array_parse(cfg_default(CFG_VALID_CHANNEL_LIST),
channel_list,
tmp_channel_list,
CFG_VALID_CHANNEL_LIST_LEN,
&valid_channel_list_num);
*channel_list_num = (uint8_t)valid_channel_list_num;
mlme_legacy_err("Failed to get MLME Obj");
pdev = wlan_objmgr_get_pdev_by_id(psoc, 0, WLAN_MLME_NB_ID);
if (!pdev) {
mlme_legacy_err("null pdev");
return QDF_STATUS_E_INVAL;
}
for (i = 0; i < valid_channel_list_num; i++) {
channel_list[i] =
wlan_reg_chan_to_freq(pdev, tmp_channel_list[i]);
}
wlan_objmgr_pdev_release_ref(pdev, WLAN_MLME_NB_ID);
return QDF_STATUS_E_INVAL;
}
*channel_list_num = (uint32_t)mlme_obj->cfg.reg.valid_channel_list_num;
qdf_mem_copy(channel_list, mlme_obj->cfg.reg.valid_channel_list,
*channel_list_num);
for (i = 0; i < *channel_list_num; i++)
channel_list[i] = mlme_obj->cfg.reg.valid_channel_freq_list[i];
return QDF_STATUS_SUCCESS;
}