qcacmn: Select assoc peer's psoc as primary UMAC

select assoc peer as primary umac,
1) if all links are from single PSOC
2) single link MLO connection

Change-Id: Ia38e6809ef7d0201a2267051b8b4bcec7b36547f
CRs-Fixed: 3203804
This commit is contained in:
Srinivas Pitla
2022-03-07 16:56:47 -08:00
کامیت شده توسط Madan Koyyalamudi
والد 34c16f4118
کامیت e89b339b23
2فایلهای تغییر یافته به همراه21 افزوده شده و 6 حذف شده

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

@@ -147,5 +147,12 @@ static inline void mlo_setup_init(void)
static inline void mlo_setup_deinit(void)
{
}
static inline bool
mlo_vdevs_check_single_soc(struct wlan_objmgr_vdev **wlan_vdev_list,
uint8_t vdev_count)
{
return true;
}
#endif /* WLAN_MLO_MULTI_CHIP */
#endif /* _WLAN_MLO_MGR_SETUP_H_ */

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

@@ -20,6 +20,7 @@
#include "wlan_cmn.h"
#include "wlan_mlo_mgr_peer.h"
#include <wlan_mlo_mgr_ap.h>
#include <wlan_mlo_mgr_setup.h>
#include <wlan_utility.h>
#include <wlan_reg_services_api.h>
@@ -359,13 +360,20 @@ QDF_STATUS mlo_peer_allocate_primary_umac(
return QDF_STATUS_SUCCESS;
}
/* If MLD is single chip MLO then assoc link becomes primary UMAC */
/*
* if (ml_dev->single_chip_mlo) {
* mlo_peer_assign_primary_umac(ml_peer, peer_entry);
* return QDF_STATUS_SUCCESS;
* }
/* Select assoc peer's PSOC as primary UMAC in Multi-chip solution,
* 1) for single link MLO connection
* 2) if MLD is single chip MLO
*/
if ((ml_peer->max_links == 1) ||
(mlo_vdevs_check_single_soc(link_vdevs, ml_peer->max_links))) {
mlo_peer_assign_primary_umac(ml_peer, peer_entry);
mlo_info("MLD ID %d Assoc peer " QDF_MAC_ADDR_FMT " primary umac soc %d ",
ml_dev->mld_id,
QDF_MAC_ADDR_REF(ml_peer->peer_mld_addr.bytes),
ml_peer->primary_umac_psoc_id);
return QDF_STATUS_SUCCESS;
}
if (mlo_ctx->mlo_is_force_primary_umac) {
for (i = 0; i < WLAN_UMAC_MLO_MAX_VDEVS; i++) {