qcacld-3.0: Add ini support to enable NAN on indoor channels

Currently there is no  support to enable NAN on indoor channels,
as per the new requirement add an ini support to enable NAN on
indoor channels.

Change-Id: Ia3acbc133cab4865d8ad69992e893be91439f50f
CRs-Fixed: 2943668
This commit is contained in:
Ashish Kumar Dhanotiya
2021-05-18 14:17:12 +05:30
committed by Madan Koyyalamudi
parent 9eb4979aac
commit cc3c67977d
8 changed files with 100 additions and 12 deletions

View File

@@ -102,6 +102,29 @@
CFG_VALUE_OR_DEFAULT, \
"enable/disable ETSI SRD channels in master mode")
/*
* <ini>
* enable_nan_indoor_channel - Enable Indoor channels for NAN
* @Min: 0
* @Max: 1
* @Default: 0
*
* This ini is used to support to indoor channels for NAN interface
* Customer can config this item to enable/disable NAN in indoor channel
*
* Related: None
*
* Supported Feature: NAN
*
* Usage: External
*
* </ini>
*/
#define CFG_INDOOR_CHANNEL_SUPPORT_FOR_NAN CFG_INI_BOOL( \
"enable_nan_indoor_channel", \
0, \
"enable/disable indoor channels for NAN")
/*
* <ini>
* fcc_5dot9_ghz_chan_in_master_mode - Enable/disable 5.9 GHz channels in
@@ -315,6 +338,7 @@
CFG(CFG_ENABLE_PENDING_CHAN_LIST_REQ) \
CFG(CFG_ENABLE_11D_IN_WORLD_MODE) \
CFG(CFG_ETSI_SRD_CHAN_IN_MASTER_MODE) \
CFG(CFG_INDOOR_CHANNEL_SUPPORT_FOR_NAN) \
CFG(CFG_FCC_5DOT9_GHZ_CHAN_IN_MASTER_MODE) \
CFG(CFG_RESTART_BEACONING_ON_CH_AVOID) \
CFG(CFG_INDOOR_CHANNEL_SUPPORT) \

View File

@@ -2036,6 +2036,17 @@ wlan_mlme_get_srd_master_mode_for_vdev(struct wlan_objmgr_psoc *psoc,
enum QDF_OPMODE vdev_opmode,
bool *value);
/**
* wlan_mlme_get_indoor_support_for_nan - Get indoor channel support for NAN
* @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_indoor_support_for_nan(struct wlan_objmgr_psoc *psoc,
bool *value);
/**
* wlan_mlme_get_force_sap_enabled() - Get the value of force SAP enabled
* @psoc: psoc context

View File

@@ -2421,6 +2421,7 @@ enum mlme_reg_srd_master_modes {
* @enable_pending_chan_list_req: enables/disables scan channel
* list command to FW till the current scan is complete.
* @retain_nol_across_regdmn_update: Retain the NOL list across the regdomain.
* @enable_nan_on_indoor_channels: Enable nan on Indoor channels
*/
struct wlan_mlme_reg {
uint32_t self_gen_frm_pwr;
@@ -2440,6 +2441,7 @@ struct wlan_mlme_reg {
bool ignore_fw_reg_offload_ind;
bool enable_pending_chan_list_req;
bool retain_nol_across_regdmn_update;
bool enable_nan_on_indoor_channels;
};
#define IOT_AGGR_INFO_MAX_NUM 32

View File

@@ -3274,6 +3274,24 @@ wlan_mlme_get_vht20_mcs9(struct wlan_objmgr_psoc *psoc, bool *value)
return QDF_STATUS_SUCCESS;
}
QDF_STATUS
wlan_mlme_get_indoor_support_for_nan(struct wlan_objmgr_psoc *psoc,
bool *value)
{
struct wlan_mlme_psoc_ext_obj *mlme_obj;
mlme_obj = mlme_get_psoc_ext_obj(psoc);
if (!mlme_obj) {
*value = false;
mlme_legacy_err("Failed to get MLME Obj");
return QDF_STATUS_E_INVAL;
}
*value = mlme_obj->cfg.reg.enable_nan_on_indoor_channels;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS
wlan_mlme_get_srd_master_mode_for_vdev(struct wlan_objmgr_psoc *psoc,
enum QDF_OPMODE vdev_opmode,