qcacld-3.0: Add cfg item to enable eMLSR mode

Add cfg item to enable/disable eMLSR mode for ML STA
under 802.11be op mode. The cfg value 0 corresponds
to default MLMR mode, 1 corresponds to eMLSR mode.

Change-Id: Ib02516aac8ac44aee6b40a572a9f7469b10d0ac2
CRs-Fixed: 3184745
This commit is contained in:
Gururaj Pandurangi
2022-04-11 15:08:58 -07:00
کامیت شده توسط Madan Koyyalamudi
والد da89b752bc
کامیت 55f3afd6bf
8فایلهای تغییر یافته به همراه187 افزوده شده و 4 حذف شده

مشاهده پرونده

@@ -221,6 +221,30 @@ enum debug_packet_log_type {
#define CFG_RELAX_6GHZ_CONN_POLICY
#endif
#ifdef WLAN_FEATURE_11BE_MLO
/*
* emlsr_mode_enable - Enable eMLSR mode support
* @Min: 0
* @Max: 1
* @Default: 0
*
* This cfg is used to enable eMLSR mode
* If 0 - MLMR mode (Default mode)
* If 1 - eMLSR mode
*
* Related: None
*
* Supported Feature: STA
*/
#define CFG_EMLSR_MODE_ENABLE CFG_BOOL( \
"emlsr_mode_enable", \
0, \
"eMLSR mode enable flag")
#define CFG_EMLSR_MODE_ENABLED CFG(CFG_EMLSR_MODE_ENABLE)
#else
#define CFG_EMLSR_MODE_ENABLED
#endif
/*
* <ini>
* BandCapability - Preferred band (0: 2.4G, 5G, and 6G,
@@ -1016,5 +1040,6 @@ enum debug_packet_log_type {
CFG_WDS_MODE_ALL \
CFG(CFG_TX_RETRY_MULTIPLIER) \
CFG(CFG_MGMT_FRAME_HW_TX_RETRY_COUNT) \
CFG_RELAX_6GHZ_CONN_POLICY
CFG_RELAX_6GHZ_CONN_POLICY \
CFG_EMLSR_MODE_ENABLED
#endif /* __CFG_MLME_GENERIC_H */

مشاهده پرونده

@@ -2310,6 +2310,41 @@ wlan_mlme_set_relaxed_6ghz_conn_policy(struct wlan_objmgr_psoc *psoc,
}
#endif
#ifdef WLAN_FEATURE_11BE_MLO
/**
* wlan_mlme_get_emlsr_mode_enabled() - Get the eMLSR mode flag
* @psoc: psoc context
* @value: Enable/Disable value ptr.
*
* Return: QDF_STATUS
*/
QDF_STATUS
wlan_mlme_get_emlsr_mode_enabled(struct wlan_objmgr_psoc *psoc, bool *value);
/**
* wlan_mlme_set_emlsr_mode_enabled() - Set the eMLSR mode flag
* @psoc: psoc context
* @value: Enable/Disable value.
*
* Return: QDF_STATUS
*/
QDF_STATUS
wlan_mlme_set_emlsr_mode_enabled(struct wlan_objmgr_psoc *psoc, bool value);
#else
static inline QDF_STATUS
wlan_mlme_get_emlsr_mode_enabled(struct wlan_objmgr_psoc *psoc, bool *value)
{
*value = false;
return QDF_STATUS_SUCCESS;
}
static inline QDF_STATUS
wlan_mlme_set_emlsr_mode_enabled(struct wlan_objmgr_psoc *psoc, bool value)
{
return QDF_STATUS_SUCCESS;
}
#endif
/**
* wlan_mlme_get_sta_miracast_mcc_rest_time() - Get STA/MIRACAST MCC rest time
* @psoc: pointer to psoc object

مشاهده پرونده

@@ -1358,6 +1358,7 @@ struct wlan_user_mcc_quota {
* @tx_retry_multiplier: TX xretry extension parameter
* @mgmt_hw_tx_retry_count: MGMT HW tx retry count for frames
* @relaxed_6ghz_conn_policy: 6GHz relaxed connection policy
* @enable_emlsr_mode: 11BE eMLSR mode support
* @safe_mode_enable: safe mode to bypass some strict 6 GHz checks for
* connection, bypass strict power levels
*/
@@ -1410,6 +1411,9 @@ struct wlan_mlme_generic {
#ifdef CONFIG_BAND_6GHZ
bool relaxed_6ghz_conn_policy;
#endif
#ifdef WLAN_FEATURE_11BE_MLO
bool enable_emlsr_mode;
#endif
#ifdef WLAN_FEATURE_MCC_QUOTA
struct wlan_user_mcc_quota user_mcc_quota;
#endif

مشاهده پرونده

@@ -2830,6 +2830,36 @@ ucfg_mlme_set_relaxed_6ghz_conn_policy(struct wlan_objmgr_psoc *psoc,
return wlan_mlme_set_relaxed_6ghz_conn_policy(psoc, value);
}
/**
* ucfg_mlme_get_emlsr_mode_enabled() - Get eMLSR 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_get_emlsr_mode_enabled(struct wlan_objmgr_psoc *psoc, bool *value)
{
return wlan_mlme_get_emlsr_mode_enabled(psoc, value);
}
/**
* ucfg_mlme_set_emlsr_mode_enabled() - Set eMLSR 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_emlsr_mode_enabled(struct wlan_objmgr_psoc *psoc, bool value)
{
return wlan_mlme_set_emlsr_mode_enabled(psoc, value);
}
/**
* ucfg_mlme_get_opr_rate() - Get operational rate set
* @psoc: pointer to vdev object