xref: /openbmc/linux/drivers/scsi/qedi/qedi_fw_scsi.h (revision be086e7c)
1be086e7cSMintz, Yuval /*
2be086e7cSMintz, Yuval  * QLogic iSCSI Offload Driver
3be086e7cSMintz, Yuval  * Copyright (c) 2016 Cavium Inc.
4be086e7cSMintz, Yuval  *
5be086e7cSMintz, Yuval  * This software is available under the terms of the GNU General Public License
6be086e7cSMintz, Yuval  * (GPL) Version 2, available from the file COPYING in the main directory of
7be086e7cSMintz, Yuval  * this source tree.
8be086e7cSMintz, Yuval  */
9be086e7cSMintz, Yuval 
10be086e7cSMintz, Yuval #ifndef _QEDI_FW_SCSI_H_
11be086e7cSMintz, Yuval #define _QEDI_FW_SCSI_H_
12be086e7cSMintz, Yuval 
13be086e7cSMintz, Yuval #include <linux/types.h>
14be086e7cSMintz, Yuval #include <asm/byteorder.h>
15be086e7cSMintz, Yuval #include "qedi_hsi.h"
16be086e7cSMintz, Yuval #include <linux/qed/qed_if.h>
17be086e7cSMintz, Yuval 
18be086e7cSMintz, Yuval struct scsi_sgl_task_params {
19be086e7cSMintz, Yuval 	struct scsi_sge	*sgl;
20be086e7cSMintz, Yuval 	struct regpair	sgl_phys_addr;
21be086e7cSMintz, Yuval 	u32		total_buffer_size;
22be086e7cSMintz, Yuval 	u16		num_sges;
23be086e7cSMintz, Yuval 	bool		small_mid_sge;
24be086e7cSMintz, Yuval };
25be086e7cSMintz, Yuval 
26be086e7cSMintz, Yuval struct scsi_dif_task_params {
27be086e7cSMintz, Yuval 	u32	initial_ref_tag;
28be086e7cSMintz, Yuval 	bool	initial_ref_tag_is_valid;
29be086e7cSMintz, Yuval 	u16	application_tag;
30be086e7cSMintz, Yuval 	u16	application_tag_mask;
31be086e7cSMintz, Yuval 	u16	dif_block_size_log;
32be086e7cSMintz, Yuval 	bool	dif_on_network;
33be086e7cSMintz, Yuval 	bool	dif_on_host;
34be086e7cSMintz, Yuval 	u8	host_guard_type;
35be086e7cSMintz, Yuval 	u8	protection_type;
36be086e7cSMintz, Yuval 	u8	ref_tag_mask;
37be086e7cSMintz, Yuval 	bool	crc_seed;
38be086e7cSMintz, Yuval 	bool	tx_dif_conn_err_en;
39be086e7cSMintz, Yuval 	bool	ignore_app_tag;
40be086e7cSMintz, Yuval 	bool	keep_ref_tag_const;
41be086e7cSMintz, Yuval 	bool	validate_guard;
42be086e7cSMintz, Yuval 	bool	validate_app_tag;
43be086e7cSMintz, Yuval 	bool	validate_ref_tag;
44be086e7cSMintz, Yuval 	bool	forward_guard;
45be086e7cSMintz, Yuval 	bool	forward_app_tag;
46be086e7cSMintz, Yuval 	bool	forward_ref_tag;
47be086e7cSMintz, Yuval 	bool	forward_app_tag_with_mask;
48be086e7cSMintz, Yuval 	bool	forward_ref_tag_with_mask;
49be086e7cSMintz, Yuval };
50be086e7cSMintz, Yuval 
51be086e7cSMintz, Yuval struct scsi_initiator_cmd_params {
52be086e7cSMintz, Yuval 	struct scsi_sge	extended_cdb_sge;
53be086e7cSMintz, Yuval 	struct regpair	sense_data_buffer_phys_addr;
54be086e7cSMintz, Yuval };
55be086e7cSMintz, Yuval #endif
56