qcacmn: Hybrid mld netdev support

-Support to route IGMP packet to correct netdev coming from
 legacy and mld sta.
-Support to detect mld model based on ini setting

Change-Id: I10ea5af9a4315642b262c8404d7bebd88ee06ab1
CRs-Fixed: 3467808
This commit is contained in:
Biswajit Dash
2023-04-06 11:52:09 -07:00
committed by Madan Koyyalamudi
parent f16ad481d6
commit d62608cb2a
6 changed files with 111 additions and 46 deletions

View File

@@ -4376,6 +4376,29 @@ static void dp_soc_cfg_init(struct dp_soc *soc)
dp_soc_cfg_dump(soc, target_type);
}
/**
* dp_soc_get_ap_mld_mode() - store ap mld mode from ini
* @soc: Opaque DP SOC handle
*
* Return: none
*/
#if defined(WLAN_FEATURE_11BE_MLO) && defined(WLAN_MLO_MULTI_CHIP)
static inline void dp_soc_get_ap_mld_mode(struct dp_soc *soc)
{
if (soc->cdp_soc.ol_ops->get_dp_cfg_param) {
soc->mld_mode_ap =
soc->cdp_soc.ol_ops->get_dp_cfg_param(soc->ctrl_psoc,
CDP_CFG_MLD_NETDEV_MODE_AP);
}
qdf_info("DP mld_mode_ap-%u\n", soc->mld_mode_ap);
}
#else
static inline void dp_soc_get_ap_mld_mode(struct dp_soc *soc)
{
(void)soc;
}
#endif
/**
* dp_soc_init() - Initialize txrx SOC
* @soc: Opaque DP SOC handle
@@ -4559,6 +4582,8 @@ void *dp_soc_init(struct dp_soc *soc, HTC_HANDLE htc_handle,
soc->vdev_stats_id_map = 0;
dp_soc_get_ap_mld_mode(soc);
return soc;
fail7:
dp_soc_tx_desc_sw_pools_deinit(soc);