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