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