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