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