qcacld-3.0: Add support for handling the NAN events

As part of supporting NAN DBS, new WMI TLVs are defined so
that Host can maintain the status of NAN Discovery in sync
with the Firmware. Add modules that process these events and
updates the NAN states.

Add support for handling the NAN events.

Change-Id: Icfcd9c33cc410d9a65140f63cac69ddd69742306
CRs-Fixed: 2355383
This commit is contained in:
Nachiket Kukade
2018-11-08 18:10:11 +05:30
committed by nshrivas
parent d5a7683c8a
commit 4f89e9e161
9 changed files with 364 additions and 113 deletions

View File

@@ -383,9 +383,9 @@ QDF_STATUS ucfg_nan_req_processor(struct wlan_objmgr_vdev *vdev,
return status;
}
void ucfg_nan_event_handler(struct wlan_objmgr_psoc *psoc,
struct wlan_objmgr_vdev *vdev,
uint32_t type, void *msg)
void ucfg_nan_datapath_event_handler(struct wlan_objmgr_psoc *psoc,
struct wlan_objmgr_vdev *vdev,
uint32_t type, void *msg)
{
struct nan_psoc_priv_obj *psoc_obj = nan_get_psoc_priv_obj(psoc);
@@ -394,15 +394,11 @@ void ucfg_nan_event_handler(struct wlan_objmgr_psoc *psoc,
return;
}
psoc_obj->cb_obj.os_if_event_handler(psoc, vdev, type, msg);
psoc_obj->cb_obj.os_if_ndp_event_handler(psoc, vdev, type, msg);
}
int ucfg_nan_register_hdd_callbacks(struct wlan_objmgr_psoc *psoc,
struct nan_callbacks *cb_obj,
void (os_if_event_handler)(
struct wlan_objmgr_psoc *,
struct wlan_objmgr_vdev *,
uint32_t, void *))
struct nan_callbacks *cb_obj)
{
struct nan_psoc_priv_obj *psoc_obj = nan_get_psoc_priv_obj(psoc);
@@ -411,8 +407,6 @@ int ucfg_nan_register_hdd_callbacks(struct wlan_objmgr_psoc *psoc,
return -EINVAL;
}
psoc_obj->cb_obj.os_if_event_handler = os_if_event_handler;
psoc_obj->cb_obj.ndi_open = cb_obj->ndi_open;
psoc_obj->cb_obj.ndi_start = cb_obj->ndi_start;
psoc_obj->cb_obj.ndi_delete = cb_obj->ndi_delete;
@@ -425,6 +419,10 @@ int ucfg_nan_register_hdd_callbacks(struct wlan_objmgr_psoc *psoc,
psoc_obj->cb_obj.get_peer_idx = cb_obj->get_peer_idx;
psoc_obj->cb_obj.new_peer_ind = cb_obj->new_peer_ind;
psoc_obj->cb_obj.peer_departed_ind = cb_obj->peer_departed_ind;
psoc_obj->cb_obj.os_if_ndp_event_handler =
cb_obj->os_if_ndp_event_handler;
psoc_obj->cb_obj.os_if_nan_event_handler =
cb_obj->os_if_nan_event_handler;
return 0;
}