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