qcacmn: Changes to handle dynamic link add for non-AP MLD

Changes to handle dynamic link add for non-AP MLD.
Also add change to clear mlo cap for link removal of vdev.

Change-Id: I47e0bb77b7f32296e5745ffd53ce3a34ec35a63a
CRs-Fixed: 3346538
This commit is contained in:
Himanshu Batra
2022-12-16 10:30:31 +05:30
zatwierdzone przez Madan Koyyalamudi
rodzic 5ea3ebf775
commit b23b9551cc
12 zmienionych plików z 255 dodań i 8 usunięć

Wyświetl plik

@@ -102,9 +102,36 @@
#define CFG_MLME_11BE_ALL
#endif /* WLAN_FEATURE_11BE */
/*
* <ini>
* mlme_mlo_reconfig_reassoc_enable- Flag for non-AP MLD re-association
* upon detecting ML Reconfig AP addition
* @Min: false
* @Max: true
* @Default: false
*
* This flag when set to true enables re-association by non-AP MLD when
* the non-AP MLD detects that the AP MLD it is associated with has
* added a new AP using ML Reconfiguration.
*
* Related: None
*
* Supported Feature: 11be MLO Reconfig
*
* Usage: Internal
*
* </ini>
*/
#define CFG_MLME_MLO_RECONFIG_REASSOC_ENABLE CFG_INI_UINT( \
"mlme_mlo_reconfig_reassoc_enable",\
0, 1, 0, \
CFG_VALUE_OR_DEFAULT, \
"MLO reconfig reassoc is supported by target")
#define CFG_CMN_MLME_ALL \
CFG(CFG_MLME_MAX_CHAN_SWITCH_IE_ENABLE) \
CFG(CFG_MLME_11BE_TARGET_CAPAB) \
CFG(CFG_MLME_MLO_RECONFIG_REASSOC_ENABLE) \
CFG_MLME_11BE_ALL
#endif /* __CFG_CMN_MLME_H */

Wyświetl plik

@@ -1231,4 +1231,13 @@ mlme_twt_vdev_destroy_notification(struct wlan_objmgr_vdev *vdev)
* Return: None
*/
void mlme_vdev_reconfig_timer_cb(void *arg);
/**
* mlme_mlo_is_reconfig_reassoc_enable() - Get if reassoc on mlo reconfig link
* add is enable
* @psoc: Object manager psoc pointer
*
* Return: True if reassoc on mlo reconfig link add ie enable
*/
bool mlme_mlo_is_reconfig_reassoc_enable(struct wlan_objmgr_psoc *psoc);
#endif

Wyświetl plik

@@ -74,14 +74,24 @@ struct psoc_phy_config {
max_chan_switch_ie:1;
};
/**
* struct psoc_mlo_config - psoc mlo config
* @reconfig_reassoc_en: If reassoc on ML reconfig AP addition is enabled
*/
struct psoc_mlo_config {
uint8_t reconfig_reassoc_en;
};
/**
* struct psoc_config - psoc level configs
* @score_config: BSS scoring related config
* @phy_config: Psoc Phy config
* @mlo_config: Psoc mlo config
*/
struct psoc_config {
struct scoring_cfg score_config;
struct psoc_phy_config phy_config;
struct psoc_mlo_config mlo_config;
};
/**