1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * QLogic iSCSI Offload Driver
4  * Copyright (c) 2016 Cavium Inc.
5  */
6 
7 #ifndef _QEDI_FW_SCSI_H_
8 #define _QEDI_FW_SCSI_H_
9 
10 #include <linux/types.h>
11 #include <asm/byteorder.h>
12 #include "qedi_hsi.h"
13 #include <linux/qed/qed_if.h>
14 
15 struct scsi_sgl_task_params {
16 	struct scsi_sge	*sgl;
17 	struct regpair	sgl_phys_addr;
18 	u32		total_buffer_size;
19 	u16		num_sges;
20 	bool		small_mid_sge;
21 };
22 
23 struct scsi_dif_task_params {
24 	u32	initial_ref_tag;
25 	bool	initial_ref_tag_is_valid;
26 	u16	application_tag;
27 	u16	application_tag_mask;
28 	u16	dif_block_size_log;
29 	bool	dif_on_network;
30 	bool	dif_on_host;
31 	u8	host_guard_type;
32 	u8	protection_type;
33 	u8	ref_tag_mask;
34 	bool	crc_seed;
35 	bool	tx_dif_conn_err_en;
36 	bool	ignore_app_tag;
37 	bool	keep_ref_tag_const;
38 	bool	validate_guard;
39 	bool	validate_app_tag;
40 	bool	validate_ref_tag;
41 	bool	forward_guard;
42 	bool	forward_app_tag;
43 	bool	forward_ref_tag;
44 	bool	forward_app_tag_with_mask;
45 	bool	forward_ref_tag_with_mask;
46 };
47 
48 struct scsi_initiator_cmd_params {
49 	struct scsi_sge	extended_cdb_sge;
50 	struct regpair	sense_data_buffer_phys_addr;
51 };
52 #endif
53