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