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