qcacld-3.0: Add support for WDS repeater mode
Enable 4address frame format for the packets to the AP. Enable MEC check for the sta dp vdev. A new ini is added to enable WDS feature specifying the desired WDS mode. CRs-Fixed: 2889438 Change-Id: I99ccb91adf283a1ed863902ec4b31f1c3e821d32
This commit is contained in:
@@ -37,6 +37,22 @@ enum monitor_mode_concurrency {
|
||||
MONITOR_MODE_CONC_AFTER_LAST,
|
||||
MONITOR_MODE_CONC_MAX = MONITOR_MODE_CONC_AFTER_LAST - 1,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum wds_mode_type: wds mode
|
||||
* @WLAN_WDS_MODE_DISABLED: WDS is disabled
|
||||
* @WLAN_WDS_MODE_REPEATER: WDS repeater mode
|
||||
*
|
||||
* This is used for 'type' values in wds_mode
|
||||
*/
|
||||
enum wlan_wds_mode {
|
||||
WLAN_WDS_MODE_DISABLED = 0,
|
||||
WLAN_WDS_MODE_REPEATER = 1,
|
||||
/* keep this last */
|
||||
WLAN_WDS_MODE_LAST,
|
||||
WLAN_WDS_MODE_MAX = WLAN_WDS_MODE_LAST - 1,
|
||||
};
|
||||
|
||||
/*
|
||||
* pmfSaQueryMaxRetries - Control PMF SA query retries for SAP
|
||||
* @Min: 0
|
||||
@@ -822,6 +838,40 @@ enum monitor_mode_concurrency {
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"Monitor mode concurrency supported")
|
||||
|
||||
#ifdef FEATURE_WDS
|
||||
/*
|
||||
* <ini>
|
||||
*
|
||||
* wds_mode - wds mode supported
|
||||
* @Min: 0
|
||||
* @Max: 1
|
||||
* @Default: 0
|
||||
*
|
||||
* Related: None
|
||||
*
|
||||
* wds mode supported
|
||||
* 0 - wds mode disabled
|
||||
* 1 - wds repeater mode
|
||||
*
|
||||
* Supported Feature: General
|
||||
*
|
||||
* Usage: External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_WDS_MODE CFG_INI_UINT( \
|
||||
"wds_mode", \
|
||||
WLAN_WDS_MODE_DISABLED, \
|
||||
WLAN_WDS_MODE_MAX, \
|
||||
WLAN_WDS_MODE_DISABLED, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"wds mode supported")
|
||||
|
||||
#define CFG_WDS_MODE_ALL CFG(CFG_WDS_MODE)
|
||||
#else
|
||||
#define CFG_WDS_MODE_ALL
|
||||
#endif
|
||||
|
||||
#define CFG_GENERIC_ALL \
|
||||
CFG(CFG_ENABLE_DEBUG_PACKET_LOG) \
|
||||
CFG(CFG_PMF_SA_QUERY_MAX_RETRIES) \
|
||||
@@ -855,5 +905,6 @@ enum monitor_mode_concurrency {
|
||||
CFG(CFG_DFS_CHAN_AGEOUT_TIME) \
|
||||
CFG(CFG_SAE_CONNECION_RETRIES) \
|
||||
CFG(CFG_WLS_6GHZ_CAPABLE) \
|
||||
CFG(CFG_MONITOR_MODE_CONCURRENCY)
|
||||
CFG(CFG_MONITOR_MODE_CONCURRENCY) \
|
||||
CFG_WDS_MODE_ALL
|
||||
#endif /* __CFG_MLME_GENERIC_H */
|
||||
|
@@ -3050,6 +3050,23 @@ QDF_STATUS mlme_set_ext_opr_rate(struct wlan_objmgr_vdev *vdev, uint8_t *src,
|
||||
*/
|
||||
bool wlan_mlme_is_sta_mon_conc_supported(struct wlan_objmgr_psoc *psoc);
|
||||
|
||||
#ifdef FEATURE_WDS
|
||||
/**
|
||||
* wlan_mlme_get_wds_mode() - Check wds mode supported
|
||||
* @psoc: pointer to psoc object
|
||||
*
|
||||
* Return: supprted wds mode
|
||||
*/
|
||||
enum wlan_wds_mode
|
||||
wlan_mlme_get_wds_mode(struct wlan_objmgr_psoc *psoc);
|
||||
#else
|
||||
static inline enum wlan_wds_mode
|
||||
wlan_mlme_get_wds_mode(struct wlan_objmgr_psoc *psoc)
|
||||
{
|
||||
return WLAN_WDS_MODE_DISABLED;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef WLAN_SUPPORT_TWT
|
||||
/**
|
||||
* mlme_is_twt_enabled() - Get if TWT is enabled via ini.
|
||||
|
@@ -1306,6 +1306,7 @@ struct wlan_mlme_ratemask {
|
||||
* @wls_6ghz_capable: wifi location service(WLS) is 6ghz capable
|
||||
* @monitor_mode_concurrency: Monitor mode concurrency supported
|
||||
* @ocv_support: FW supports OCV or not
|
||||
* @wds_mode: wds mode supported
|
||||
*/
|
||||
struct wlan_mlme_generic {
|
||||
uint32_t band_capability;
|
||||
@@ -1349,6 +1350,7 @@ struct wlan_mlme_generic {
|
||||
bool wls_6ghz_capable;
|
||||
enum monitor_mode_concurrency monitor_mode_concurrency;
|
||||
bool ocv_support;
|
||||
enum wlan_wds_mode wds_mode;
|
||||
};
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user