qcacld-3.0: Config support for assoc link band and no.of links

Config support for assoc link band and max number of links.

Change-Id: I6b9999216691a191e3f02d3756166203055c6c96
CRs-Fixed: 3271628
This commit is contained in:
Kiran Kumar Lokere
2022-08-19 17:15:39 +08:00
committed by Madan Koyyalamudi
parent e28e829e00
commit c38d5d534c
8 changed files with 188 additions and 6 deletions

View File

@@ -564,6 +564,32 @@
#define CFG_MLO_SUPPORT_LINK_NUM_CFG CFG(CFG_MLO_SUPPORT_LINK_NUM)
/*
* <cfg>
* mlo_max_simultaneous_links- Set number of mlo simultaneous links for sta
* @Min: 0
* @Max: 1
* @Default: 1
*
* This cfg is used to configure the mlo max simultaneous links
*
* Related: None
*
* Supported Feature: STA
*
* Usage: Internal
*
* </cfg>
*/
#define CFG_MLO_MAX_SIMULTANEOUS_LINKS CFG_UINT( \
"mlo_max_simultaneous_links", \
0, \
1, \
1, \
CFG_VALUE_OR_DEFAULT, \
"mlo max simultaneous links")
#define CFG_MLO_MAX_SIMULTANEOUS_LINKS_CFG CFG(CFG_MLO_MAX_SIMULTANEOUS_LINKS)
/*
* <cfg>
* mlo_support_link_band - Set band bitmap of mlo connection supports for sta
@@ -603,6 +629,7 @@
#else
#define CFG_MLO_SUPPORT_LINK_NUM_CFG
#define CFG_MLO_SUPPORT_LINK_BAND_CFG
#define CFG_MLO_MAX_SIMULTANEOUS_LINKS_CFG
#endif
#define CFG_STA_ALL \
@@ -627,6 +654,7 @@
CFG(CFG_TX_POWER_CTRL) \
CFG(CFG_MAX_LI_MODULATED_DTIM_MS) \
CFG_MLO_SUPPORT_LINK_NUM_CFG \
CFG_MLO_MAX_SIMULTANEOUS_LINKS_CFG \
CFG_MLO_SUPPORT_LINK_BAND_CFG
#endif /* CFG_MLME_STA_H__ */

View File

@@ -3543,7 +3543,7 @@ uint8_t wlan_mlme_get_sta_mlo_conn_max_num(struct wlan_objmgr_psoc *psoc);
* Return: QDF Status
*/
QDF_STATUS wlan_mlme_set_sta_mlo_conn_max_num(struct wlan_objmgr_psoc *psoc,
bool value);
uint8_t value);
/**
* wlan_mlme_get_sta_mlo_conn_band_bmp() - get band bitmap that sta mlo
@@ -3554,6 +3554,25 @@ QDF_STATUS wlan_mlme_set_sta_mlo_conn_max_num(struct wlan_objmgr_psoc *psoc,
*/
uint8_t wlan_mlme_get_sta_mlo_conn_band_bmp(struct wlan_objmgr_psoc *psoc);
/**
* wlan_mlme_set_sta_mlo_simulataneous_links() - set mlo simulataneous links
* @psoc: pointer to psoc object
* @value: value to set
*
* Return: QDF Status
*/
QDF_STATUS
wlan_mlme_set_sta_mlo_simulataneous_links(struct wlan_objmgr_psoc *psoc,
uint8_t value);
/**
* wlan_mlme_get_sta_mlo_simultaneous_links() - get mlo simulataneous links
* @psoc: pointer to psoc object
*
* Return: number of links
*/
uint8_t wlan_mlme_get_sta_mlo_simultaneous_links(struct wlan_objmgr_psoc *psoc);
/**
* wlan_mlme_set_sta_mlo_conn_band_bmp() - set band bitmap that sta mlo
* connection can support
@@ -3563,7 +3582,7 @@ uint8_t wlan_mlme_get_sta_mlo_conn_band_bmp(struct wlan_objmgr_psoc *psoc);
* Return: QDF Status
*/
QDF_STATUS wlan_mlme_set_sta_mlo_conn_band_bmp(struct wlan_objmgr_psoc *psoc,
bool value);
uint8_t value);
#endif
/**

View File

@@ -1669,6 +1669,7 @@ enum station_prefer_bw {
* @max_li_modulated_dtim_time_ms: Max modulated DTIM time in ms.
* @mlo_support_link_num: max number of links that sta mlo supports
* @mlo_support_link_band: band bitmap that sta mlo supports
* @mlo_max_simultaneous_links number of simulataneous links
*/
struct wlan_mlme_sta_cfg {
uint32_t sta_keep_alive_period;
@@ -1699,6 +1700,7 @@ struct wlan_mlme_sta_cfg {
#ifdef WLAN_FEATURE_11BE_MLO
uint8_t mlo_support_link_num;
uint8_t mlo_support_link_band;
uint8_t mlo_max_simultaneous_links;
#endif
};

View File

@@ -1074,6 +1074,33 @@ enum phy_ch_width wlan_mlme_convert_eht_op_bw_to_phy_ch_width(
#endif
#ifdef WLAN_FEATURE_11BE_MLO
uint8_t wlan_mlme_get_sta_mlo_simultaneous_links(struct wlan_objmgr_psoc *psoc)
{
struct wlan_mlme_psoc_ext_obj *mlme_obj;
mlme_obj = mlme_get_psoc_ext_obj(psoc);
if (!mlme_obj)
return false;
return mlme_obj->cfg.sta.mlo_max_simultaneous_links;
}
QDF_STATUS
wlan_mlme_set_sta_mlo_simulataneous_links(struct wlan_objmgr_psoc *psoc,
uint8_t 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.sta.mlo_max_simultaneous_links = value;
mlme_legacy_debug("mlo_max_simultaneous_links %d", value);
return QDF_STATUS_SUCCESS;
}
uint8_t wlan_mlme_get_sta_mlo_conn_max_num(struct wlan_objmgr_psoc *psoc)
{
struct wlan_mlme_psoc_ext_obj *mlme_obj;
@@ -1086,7 +1113,7 @@ uint8_t wlan_mlme_get_sta_mlo_conn_max_num(struct wlan_objmgr_psoc *psoc)
}
QDF_STATUS wlan_mlme_set_sta_mlo_conn_max_num(struct wlan_objmgr_psoc *psoc,
bool value)
uint8_t value)
{
struct wlan_mlme_psoc_ext_obj *mlme_obj;
@@ -1095,6 +1122,7 @@ QDF_STATUS wlan_mlme_set_sta_mlo_conn_max_num(struct wlan_objmgr_psoc *psoc,
return QDF_STATUS_E_FAILURE;
mlme_obj->cfg.sta.mlo_support_link_num = value;
mlme_legacy_debug("mlo_support_link_num %d", value);
return QDF_STATUS_SUCCESS;
}
@@ -1111,7 +1139,7 @@ uint8_t wlan_mlme_get_sta_mlo_conn_band_bmp(struct wlan_objmgr_psoc *psoc)
}
QDF_STATUS wlan_mlme_set_sta_mlo_conn_band_bmp(struct wlan_objmgr_psoc *psoc,
bool value)
uint8_t value)
{
struct wlan_mlme_psoc_ext_obj *mlme_obj;
@@ -1120,6 +1148,7 @@ QDF_STATUS wlan_mlme_set_sta_mlo_conn_band_bmp(struct wlan_objmgr_psoc *psoc,
return QDF_STATUS_E_FAILURE;
mlme_obj->cfg.sta.mlo_support_link_band = value;
mlme_legacy_debug("mlo_support_link_conn band %d", value);
return QDF_STATUS_SUCCESS;
}