qcacld-3.0: Add support for STA+NAN+NDI+NDI

Add support for four port concurrency for
STA+NAN discovery + NDI + NDI.

Change-Id: I7d6d3f482a61bef7f3d0a31eee3fdfe5e5e9d879
CRs-Fixed: 2633982
This commit is contained in:
gaurank kathpalia
2020-02-27 00:02:54 +05:30
committed by nshrivas
parent d6a5f31685
commit 82511bc630
12 changed files with 184 additions and 35 deletions

View File

@@ -1072,7 +1072,13 @@ bool ucfg_nan_is_sta_ndp_concurrency_allowed(struct wlan_objmgr_psoc *psoc,
if (wlan_vdev_get_id(vdev) == vdev_id_list[id])
return true;
return false;
/* If the flow reaches here then it is 4th NDI with STA */
if (!ucfg_nan_is_sta_nan_ndi_4_port_allowed(psoc))
return false;
/* The final freq would be provided by FW, it is not known now */
return policy_mgr_allow_concurrency(psoc, PM_NDI_MODE, 0,
HW_MODE_20_MHZ);
}
bool ucfg_nan_is_vdev_creation_allowed(struct wlan_objmgr_psoc *psoc)
@@ -1088,6 +1094,20 @@ bool ucfg_nan_is_vdev_creation_allowed(struct wlan_objmgr_psoc *psoc)
return psoc_nan_obj->nan_caps.nan_vdev_allowed;
}
bool
ucfg_nan_is_sta_nan_ndi_4_port_allowed(struct wlan_objmgr_psoc *psoc)
{
struct nan_psoc_priv_obj *psoc_nan_obj;
psoc_nan_obj = nan_get_psoc_priv_obj(psoc);
if (!psoc_nan_obj) {
nan_err("psoc_nan_obj is null");
return false;
}
return psoc_nan_obj->nan_caps.sta_nan_ndi_ndi_allowed;
}
bool ucfg_nan_get_is_separate_nan_iface(struct wlan_objmgr_psoc *psoc)
{
struct nan_psoc_priv_obj *nan_obj = nan_get_psoc_priv_obj(psoc);