1be086e7cSMintz, Yuval /* 2be086e7cSMintz, Yuval * QLogic iSCSI Offload Driver 3be086e7cSMintz, Yuval * Copyright (c) 2016 Cavium Inc. 4be086e7cSMintz, Yuval * 5be086e7cSMintz, Yuval * This software is available under the terms of the GNU General Public License 6be086e7cSMintz, Yuval * (GPL) Version 2, available from the file COPYING in the main directory of 7be086e7cSMintz, Yuval * this source tree. 8be086e7cSMintz, Yuval */ 9be086e7cSMintz, Yuval 10be086e7cSMintz, Yuval #ifndef _QEDI_FW_SCSI_H_ 11be086e7cSMintz, Yuval #define _QEDI_FW_SCSI_H_ 12be086e7cSMintz, Yuval 13be086e7cSMintz, Yuval #include <linux/types.h> 14be086e7cSMintz, Yuval #include <asm/byteorder.h> 15be086e7cSMintz, Yuval #include "qedi_hsi.h" 16be086e7cSMintz, Yuval #include <linux/qed/qed_if.h> 17be086e7cSMintz, Yuval 18be086e7cSMintz, Yuval struct scsi_sgl_task_params { 19be086e7cSMintz, Yuval struct scsi_sge *sgl; 20be086e7cSMintz, Yuval struct regpair sgl_phys_addr; 21be086e7cSMintz, Yuval u32 total_buffer_size; 22be086e7cSMintz, Yuval u16 num_sges; 23be086e7cSMintz, Yuval bool small_mid_sge; 24be086e7cSMintz, Yuval }; 25be086e7cSMintz, Yuval 26be086e7cSMintz, Yuval struct scsi_dif_task_params { 27be086e7cSMintz, Yuval u32 initial_ref_tag; 28be086e7cSMintz, Yuval bool initial_ref_tag_is_valid; 29be086e7cSMintz, Yuval u16 application_tag; 30be086e7cSMintz, Yuval u16 application_tag_mask; 31be086e7cSMintz, Yuval u16 dif_block_size_log; 32be086e7cSMintz, Yuval bool dif_on_network; 33be086e7cSMintz, Yuval bool dif_on_host; 34be086e7cSMintz, Yuval u8 host_guard_type; 35be086e7cSMintz, Yuval u8 protection_type; 36be086e7cSMintz, Yuval u8 ref_tag_mask; 37be086e7cSMintz, Yuval bool crc_seed; 38be086e7cSMintz, Yuval bool tx_dif_conn_err_en; 39be086e7cSMintz, Yuval bool ignore_app_tag; 40be086e7cSMintz, Yuval bool keep_ref_tag_const; 41be086e7cSMintz, Yuval bool validate_guard; 42be086e7cSMintz, Yuval bool validate_app_tag; 43be086e7cSMintz, Yuval bool validate_ref_tag; 44be086e7cSMintz, Yuval bool forward_guard; 45be086e7cSMintz, Yuval bool forward_app_tag; 46be086e7cSMintz, Yuval bool forward_ref_tag; 47be086e7cSMintz, Yuval bool forward_app_tag_with_mask; 48be086e7cSMintz, Yuval bool forward_ref_tag_with_mask; 49be086e7cSMintz, Yuval }; 50be086e7cSMintz, Yuval 51be086e7cSMintz, Yuval struct scsi_initiator_cmd_params { 52be086e7cSMintz, Yuval struct scsi_sge extended_cdb_sge; 53be086e7cSMintz, Yuval struct regpair sense_data_buffer_phys_addr; 54be086e7cSMintz, Yuval }; 55be086e7cSMintz, Yuval #endif 56