qcacmn: MLO Mcast Support for ML-Reconfig

1.Add check in Tx completion path to handle
mcast packets from all ML partner vdevs
2.Handle cases where a ML mcast vdev can be
deleted and started as NON-ML vdev and
viceversa by adding reset ML mcast conf.
3.Optimized Register configurations for Mcast
at Init/Delete and Start/Stop AP

Change-Id: Iab8a5a081e2e0377509574d362754d32c5b83df2
CRs-Fixed: 3350350
This commit is contained in:
Kenvish Butani
2022-11-01 22:39:36 -07:00
committed by Madan Koyyalamudi
parent 3bae1f975c
commit 069ca18f58
7 changed files with 86 additions and 82 deletions

View File

@@ -7036,30 +7036,12 @@ static inline void dp_vdev_register_rx_eapol(struct dp_vdev *vdev,
#endif
#ifdef WLAN_FEATURE_11BE_MLO
#if defined(WLAN_MLO_MULTI_CHIP) && defined(WLAN_MCAST_MLO)
static inline void dp_vdev_save_mld_info(struct dp_vdev *vdev,
struct cdp_vdev_info *vdev_info)
{
if (qdf_is_macaddr_zero((struct qdf_mac_addr *)vdev_info->mld_mac_addr))
vdev->mlo_vdev = false;
else
vdev->mlo_vdev = true;
}
#else
static inline void dp_vdev_save_mld_info(struct dp_vdev *vdev,
struct cdp_vdev_info *vdev_info)
{
}
#endif
static inline void dp_vdev_save_mld_addr(struct dp_vdev *vdev,
struct cdp_vdev_info *vdev_info)
{
if (vdev_info->mld_mac_addr)
qdf_mem_copy(&vdev->mld_mac_addr.raw[0],
vdev_info->mld_mac_addr, QDF_MAC_ADDR_SIZE);
dp_vdev_save_mld_info(vdev, vdev_info);
}
#else
static inline void dp_vdev_save_mld_addr(struct dp_vdev *vdev,