qcacld-3.0: Add support for RF test mode and safe mode config
Add RF test mode and safe mode configuration support for 6GHz. Change-Id: Icb6382f425b21e89a8cb2481c8f7bf480c4f6c19 CRs-Fixed: 2904749
此提交包含在:
@@ -425,7 +425,7 @@ static void mlme_init_generic_cfg(struct wlan_objmgr_psoc *psoc,
|
||||
gen->wls_6ghz_capable = cfg_get(psoc, CFG_WLS_6GHZ_CAPABLE);
|
||||
mlme_init_pmf_cfg(psoc, gen);
|
||||
mlme_init_lpass_support_cfg(psoc, gen);
|
||||
|
||||
gen->enabled_rf_test_mode = cfg_default(CFG_RF_TEST_MODE_SUPP_ENABLED);
|
||||
gen->enabled_11h = cfg_get(psoc, CFG_11H_SUPPORT_ENABLED);
|
||||
gen->enabled_11d = cfg_get(psoc, CFG_11D_SUPPORT_ENABLED);
|
||||
gen->enable_beacon_reception_stats =
|
||||
|
@@ -160,6 +160,23 @@ enum wlan_wds_mode {
|
||||
1, \
|
||||
"11d Enable Flag")
|
||||
|
||||
/*
|
||||
* rf_test_mode_enabled - Enable rf test mode support
|
||||
* @Min: 0
|
||||
* @Max: 1
|
||||
* @Default: 1
|
||||
*
|
||||
* This cfg is used to set rf test mode support flag
|
||||
*
|
||||
* Related: None
|
||||
*
|
||||
* Supported Feature: STA
|
||||
*/
|
||||
#define CFG_RF_TEST_MODE_SUPP_ENABLED CFG_BOOL( \
|
||||
"rf_test_mode_enabled", \
|
||||
1, \
|
||||
"rf test mode Enable Flag")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* BandCapability - Preferred band (0: 2.4G, 5G, and 6G,
|
||||
@@ -906,5 +923,6 @@ enum wlan_wds_mode {
|
||||
CFG(CFG_SAE_CONNECION_RETRIES) \
|
||||
CFG(CFG_WLS_6GHZ_CAPABLE) \
|
||||
CFG(CFG_MONITOR_MODE_CONCURRENCY) \
|
||||
CFG(CFG_RF_TEST_MODE_SUPP_ENABLED) \
|
||||
CFG_WDS_MODE_ALL
|
||||
#endif /* __CFG_MLME_GENERIC_H */
|
||||
|
@@ -2126,6 +2126,26 @@ wlan_mlme_is_11d_enabled(struct wlan_objmgr_psoc *psoc, bool *value);
|
||||
QDF_STATUS
|
||||
wlan_mlme_set_11d_enabled(struct wlan_objmgr_psoc *psoc, bool value);
|
||||
|
||||
/**
|
||||
* wlan_mlme_is_rf_test_mode_enabled() - Get the rf test mode flag
|
||||
* @psoc: psoc context
|
||||
* @value: Enable/Disable value ptr.
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS
|
||||
wlan_mlme_is_rf_test_mode_enabled(struct wlan_objmgr_psoc *psoc, bool *value);
|
||||
|
||||
/**
|
||||
* wlan_mlme_set_rf_test_mode_enabled() - Set the rf test mode flag
|
||||
* @psoc: psoc context
|
||||
* @value: Enable/Disable value.
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS
|
||||
wlan_mlme_set_rf_test_mode_enabled(struct wlan_objmgr_psoc *psoc, bool value);
|
||||
|
||||
/**
|
||||
* wlan_mlme_get_sta_miracast_mcc_rest_time() - Get STA/MIRACAST MCC rest time
|
||||
*
|
||||
|
@@ -1304,6 +1304,7 @@ struct wlan_mlme_ratemask {
|
||||
* @dual_sta_roam_fw_support: Firmware support for dual sta roaming feature
|
||||
* @sae_connect_retries: sae connect retry bitmask
|
||||
* @wls_6ghz_capable: wifi location service(WLS) is 6ghz capable
|
||||
* @enabled_rf_test_mode: Enable/disable the RF test mode config
|
||||
* @monitor_mode_concurrency: Monitor mode concurrency supported
|
||||
* @ocv_support: FW supports OCV or not
|
||||
* @wds_mode: wds mode supported
|
||||
@@ -1348,6 +1349,7 @@ struct wlan_mlme_generic {
|
||||
bool dual_sta_roam_fw_support;
|
||||
uint32_t sae_connect_retries;
|
||||
bool wls_6ghz_capable;
|
||||
bool enabled_rf_test_mode;
|
||||
enum monitor_mode_concurrency monitor_mode_concurrency;
|
||||
bool ocv_support;
|
||||
enum wlan_wds_mode wds_mode;
|
||||
|
@@ -2641,6 +2641,36 @@ ucfg_mlme_set_11d_enabled(struct wlan_objmgr_psoc *psoc, bool value)
|
||||
return wlan_mlme_set_11d_enabled(psoc, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* ucfg_mlme_is_rf_test_mode_enabled() - Get rf test mode flag
|
||||
* @psoc: pointer to psoc object
|
||||
* @value: Value that needs to be set from the caller
|
||||
*
|
||||
* Inline UCFG API to be used by HDD/OSIF callers
|
||||
*
|
||||
* Return: QDF Status
|
||||
*/
|
||||
static inline QDF_STATUS
|
||||
ucfg_mlme_is_rf_test_mode_enabled(struct wlan_objmgr_psoc *psoc, bool *value)
|
||||
{
|
||||
return wlan_mlme_is_rf_test_mode_enabled(psoc, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* ucfg_mlme_set_rf_test_mode_enabled() - Set rf test mode flag
|
||||
* @psoc: pointer to psoc object
|
||||
* @value: Value that needs to be set from the caller
|
||||
*
|
||||
* Inline UCFG API to be used by HDD/OSIF callers
|
||||
*
|
||||
* Return: QDF Status
|
||||
*/
|
||||
static inline QDF_STATUS
|
||||
ucfg_mlme_set_rf_test_mode_enabled(struct wlan_objmgr_psoc *psoc, bool value)
|
||||
{
|
||||
return wlan_mlme_set_rf_test_mode_enabled(psoc, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* ucfg_mlme_get_opr_rate() - Get operational rate set
|
||||
* @psoc: pointer to vdev object
|
||||
|
@@ -2680,6 +2680,34 @@ wlan_mlme_set_11d_enabled(struct wlan_objmgr_psoc *psoc, bool value)
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
wlan_mlme_is_rf_test_mode_enabled(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)
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
|
||||
*value = mlme_obj->cfg.gen.enabled_rf_test_mode;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
wlan_mlme_set_rf_test_mode_enabled(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)
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
|
||||
mlme_obj->cfg.gen.enabled_rf_test_mode = value;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
wlan_mlme_cfg_set_vht_chan_width(struct wlan_objmgr_psoc *psoc, uint8_t value)
|
||||
{
|
||||
|
新增問題並參考
封鎖使用者