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