Linux-libre 4.19.123-gnu
[librecmc/linux-libre.git] / drivers / scsi / qedi / qedi_fw_scsi.h
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