qcacmn: Add FD Tx & Rx ops to offload FD frame
Add Tx and Rx ops to offload the FD frame template to FW
Change-Id: Ibb16196494e3362fa48b3d1eae377df730dadcde
CRs-fixed: 2538058
diff --git a/umac/global_umac_dispatcher/lmac_if/inc/wlan_lmac_if_def.h b/umac/global_umac_dispatcher/lmac_if/inc/wlan_lmac_if_def.h
index 214a224..c919a68 100644
--- a/umac/global_umac_dispatcher/lmac_if/inc/wlan_lmac_if_def.h
+++ b/umac/global_umac_dispatcher/lmac_if/inc/wlan_lmac_if_def.h
@@ -425,12 +425,15 @@
* @fd_vdev_config_fils: Enable and configure FILS Discovery
* @fd_register_event_handler: Register swfda WMI event handler
* @fd_unregister_event_handler: Un-register swfda WMI event handler
+ * @fd_offload_tmpl_send: Send FD template to FW
*/
struct wlan_lmac_if_fd_tx_ops {
QDF_STATUS (*fd_vdev_config_fils)(struct wlan_objmgr_vdev *vdev,
uint32_t fd_period);
void (*fd_register_event_handler)(struct wlan_objmgr_psoc *psoc);
void (*fd_unregister_event_handler)(struct wlan_objmgr_psoc *psoc);
+ QDF_STATUS (*fd_offload_tmpl_send)(struct wlan_objmgr_pdev *pdev,
+ struct fils_discovery_tmpl_params *fd_tmpl_param);
};
#endif
@@ -1136,6 +1139,7 @@
* @fd_free: Free FD frame buffer
* @fd_get_valid_fd_period: Get valid FD period
* @fd_swfda_handler: SWFDA event handler
+ * @fd_offload: Offload FD frame
*/
struct wlan_lmac_if_fd_rx_ops {
uint8_t (*fd_is_fils_enable)(struct wlan_objmgr_vdev *vdev);
@@ -1145,6 +1149,8 @@
uint32_t (*fd_get_valid_fd_period)(struct wlan_objmgr_vdev *vdev,
uint8_t *is_modified);
QDF_STATUS (*fd_swfda_handler)(struct wlan_objmgr_vdev *vdev);
+ QDF_STATUS (*fd_offload)(struct wlan_objmgr_vdev *vdev,
+ uint32_t vdev_id);
};
#endif
diff --git a/umac/global_umac_dispatcher/lmac_if/src/wlan_lmac_if.c b/umac/global_umac_dispatcher/lmac_if/src/wlan_lmac_if.c
index a470cd6..f7e6fc0 100644
--- a/umac/global_umac_dispatcher/lmac_if/src/wlan_lmac_if.c
+++ b/umac/global_umac_dispatcher/lmac_if/src/wlan_lmac_if.c
@@ -182,6 +182,7 @@
fd_rx_ops->fd_free = tgt_fd_free;
fd_rx_ops->fd_get_valid_fd_period = tgt_fd_get_valid_fd_period;
fd_rx_ops->fd_swfda_handler = tgt_fd_swfda_handler;
+ fd_rx_ops->fd_offload = tgt_fd_offload;
}
#else
static void