1*826da486SShai Malin /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */
2*826da486SShai Malin /* Copyright 2021 Marvell. All rights reserved. */
3*826da486SShai Malin 
4*826da486SShai Malin #ifndef _QED_NVMETCP_FW_FUNCS_H
5*826da486SShai Malin #define _QED_NVMETCP_FW_FUNCS_H
6*826da486SShai Malin 
7*826da486SShai Malin #include <linux/kernel.h>
8*826da486SShai Malin #include <linux/module.h>
9*826da486SShai Malin #include <linux/pci.h>
10*826da486SShai Malin #include <linux/list.h>
11*826da486SShai Malin #include <linux/mm.h>
12*826da486SShai Malin #include <linux/types.h>
13*826da486SShai Malin #include <asm/byteorder.h>
14*826da486SShai Malin #include <linux/qed/common_hsi.h>
15*826da486SShai Malin #include <linux/qed/storage_common.h>
16*826da486SShai Malin #include <linux/qed/nvmetcp_common.h>
17*826da486SShai Malin #include <linux/qed/qed_nvmetcp_if.h>
18*826da486SShai Malin 
19*826da486SShai Malin #if IS_ENABLED(CONFIG_QED_NVMETCP)
20*826da486SShai Malin 
21*826da486SShai Malin void init_nvmetcp_host_read_task(struct nvmetcp_task_params *task_params,
22*826da486SShai Malin 				 struct nvme_tcp_cmd_pdu *cmd_pdu_header,
23*826da486SShai Malin 				 struct nvme_command *nvme_cmd,
24*826da486SShai Malin 				 struct storage_sgl_task_params *sgl_task_params);
25*826da486SShai Malin void init_nvmetcp_host_write_task(struct nvmetcp_task_params *task_params,
26*826da486SShai Malin 				  struct nvme_tcp_cmd_pdu *cmd_pdu_header,
27*826da486SShai Malin 				  struct nvme_command *nvme_cmd,
28*826da486SShai Malin 				  struct storage_sgl_task_params *sgl_task_params);
29*826da486SShai Malin void init_nvmetcp_init_conn_req_task(struct nvmetcp_task_params *task_params,
30*826da486SShai Malin 				     struct nvme_tcp_icreq_pdu *init_conn_req_pdu_hdr,
31*826da486SShai Malin 				     struct storage_sgl_task_params *tx_sgl_task_params,
32*826da486SShai Malin 				     struct storage_sgl_task_params *rx_sgl_task_params);
33*826da486SShai Malin void init_cleanup_task_nvmetcp(struct nvmetcp_task_params *task_params);
34*826da486SShai Malin 
35*826da486SShai Malin #else /* IS_ENABLED(CONFIG_QED_NVMETCP) */
36*826da486SShai Malin 
37*826da486SShai Malin #endif /* IS_ENABLED(CONFIG_QED_NVMETCP) */
38*826da486SShai Malin 
39*826da486SShai Malin #endif /* _QED_NVMETCP_FW_FUNCS_H */
40