18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * QLogic iSCSI Offload Driver
48c2ecf20Sopenharmony_ci * Copyright (c) 2016 Cavium Inc.
58c2ecf20Sopenharmony_ci */
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ci#ifndef _QEDI_FW_SCSI_H_
88c2ecf20Sopenharmony_ci#define _QEDI_FW_SCSI_H_
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ci#include <linux/types.h>
118c2ecf20Sopenharmony_ci#include <asm/byteorder.h>
128c2ecf20Sopenharmony_ci#include "qedi_hsi.h"
138c2ecf20Sopenharmony_ci#include <linux/qed/qed_if.h>
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_cistruct scsi_sgl_task_params {
168c2ecf20Sopenharmony_ci	struct scsi_sge	*sgl;
178c2ecf20Sopenharmony_ci	struct regpair	sgl_phys_addr;
188c2ecf20Sopenharmony_ci	u32		total_buffer_size;
198c2ecf20Sopenharmony_ci	u16		num_sges;
208c2ecf20Sopenharmony_ci	bool		small_mid_sge;
218c2ecf20Sopenharmony_ci};
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_cistruct scsi_dif_task_params {
248c2ecf20Sopenharmony_ci	u32	initial_ref_tag;
258c2ecf20Sopenharmony_ci	bool	initial_ref_tag_is_valid;
268c2ecf20Sopenharmony_ci	u16	application_tag;
278c2ecf20Sopenharmony_ci	u16	application_tag_mask;
288c2ecf20Sopenharmony_ci	u16	dif_block_size_log;
298c2ecf20Sopenharmony_ci	bool	dif_on_network;
308c2ecf20Sopenharmony_ci	bool	dif_on_host;
318c2ecf20Sopenharmony_ci	u8	host_guard_type;
328c2ecf20Sopenharmony_ci	u8	protection_type;
338c2ecf20Sopenharmony_ci	u8	ref_tag_mask;
348c2ecf20Sopenharmony_ci	bool	crc_seed;
358c2ecf20Sopenharmony_ci	bool	tx_dif_conn_err_en;
368c2ecf20Sopenharmony_ci	bool	ignore_app_tag;
378c2ecf20Sopenharmony_ci	bool	keep_ref_tag_const;
388c2ecf20Sopenharmony_ci	bool	validate_guard;
398c2ecf20Sopenharmony_ci	bool	validate_app_tag;
408c2ecf20Sopenharmony_ci	bool	validate_ref_tag;
418c2ecf20Sopenharmony_ci	bool	forward_guard;
428c2ecf20Sopenharmony_ci	bool	forward_app_tag;
438c2ecf20Sopenharmony_ci	bool	forward_ref_tag;
448c2ecf20Sopenharmony_ci	bool	forward_app_tag_with_mask;
458c2ecf20Sopenharmony_ci	bool	forward_ref_tag_with_mask;
468c2ecf20Sopenharmony_ci};
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_cistruct scsi_initiator_cmd_params {
498c2ecf20Sopenharmony_ci	struct scsi_sge	extended_cdb_sge;
508c2ecf20Sopenharmony_ci	struct regpair	sense_data_buffer_phys_addr;
518c2ecf20Sopenharmony_ci};
528c2ecf20Sopenharmony_ci#endif
53