![]() |
|
|||
0001 /* SPDX-License-Identifier: GPL-2.0-only */ 0002 /* QLogic FCoE Offload Driver 0003 * Copyright (c) 2016-2018 Cavium Inc. 0004 */ 0005 #ifndef _FCOE_FW_FUNCS_H 0006 #define _FCOE_FW_FUNCS_H 0007 #include "drv_scsi_fw_funcs.h" 0008 #include "qedf_hsi.h" 0009 #include <linux/qed/qed_if.h> 0010 0011 struct fcoe_task_params { 0012 /* Output parameter [set/filled by the HSI function] */ 0013 struct fcoe_task_context *context; 0014 0015 /* Output parameter [set/filled by the HSI function] */ 0016 struct fcoe_wqe *sqe; 0017 enum fcoe_task_type task_type; 0018 u32 tx_io_size; /* in bytes */ 0019 u32 rx_io_size; /* in bytes */ 0020 u32 conn_cid; 0021 u16 itid; 0022 u8 cq_rss_number; 0023 0024 /* Whether it's Tape device or not (0=Disk, 1=Tape) */ 0025 u8 is_tape_device; 0026 }; 0027 0028 /** 0029 * @brief init_initiator_rw_fcoe_task - Initializes FCoE task context for 0030 * read/write task types and init fcoe_sqe 0031 * 0032 * @param task_params - Pointer to task parameters struct 0033 * @param sgl_task_params - Pointer to SGL task params 0034 * @param sense_data_buffer_phys_addr - Pointer to sense data buffer 0035 * @param task_retry_id - retry identification - Used only for Tape device 0036 * @param fcp_cmnd_payload - FCP CMD Payload 0037 */ 0038 int init_initiator_rw_fcoe_task(struct fcoe_task_params *task_params, 0039 struct scsi_sgl_task_params *sgl_task_params, 0040 struct regpair sense_data_buffer_phys_addr, 0041 u32 task_retry_id, 0042 u8 fcp_cmd_payload[32]); 0043 0044 /** 0045 * @brief init_initiator_midpath_fcoe_task - Initializes FCoE task context for 0046 * midpath/unsolicited task types and init fcoe_sqe 0047 * 0048 * @param task_params - Pointer to task parameters struct 0049 * @param mid_path_fc_header - FC header 0050 * @param tx_sgl_task_params - Pointer to Tx SGL task params 0051 * @param rx_sgl_task_params - Pointer to Rx SGL task params 0052 * @param fw_to_place_fc_header - Indication if the FW will place the FC header 0053 * in addition to the data arrives. 0054 */ 0055 int init_initiator_midpath_unsolicited_fcoe_task( 0056 struct fcoe_task_params *task_params, 0057 struct fcoe_tx_mid_path_params *mid_path_fc_header, 0058 struct scsi_sgl_task_params *tx_sgl_task_params, 0059 struct scsi_sgl_task_params *rx_sgl_task_params, 0060 u8 fw_to_place_fc_header); 0061 0062 /** 0063 * @brief init_initiator_abort_fcoe_task - Initializes FCoE task context for 0064 * abort task types and init fcoe_sqe 0065 * 0066 * @param task_params - Pointer to task parameters struct 0067 */ 0068 int init_initiator_abort_fcoe_task(struct fcoe_task_params *task_params); 0069 0070 /** 0071 * @brief init_initiator_cleanup_fcoe_task - Initializes FCoE task context for 0072 * cleanup task types and init fcoe_sqe 0073 * 0074 * 0075 * @param task_params - Pointer to task parameters struct 0076 */ 0077 int init_initiator_cleanup_fcoe_task(struct fcoe_task_params *task_params); 0078 0079 /** 0080 * @brief init_initiator_cleanup_fcoe_task - Initializes FCoE task context for 0081 * sequence recovery task types and init fcoe_sqe 0082 * 0083 * 0084 * @param task_params - Pointer to task parameters struct 0085 * @param desired_offset - The desired offest the task will be re-sent from 0086 */ 0087 int init_initiator_sequence_recovery_fcoe_task( 0088 struct fcoe_task_params *task_params, 0089 u32 desired_offset); 0090 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.1.0 LXR engine. The LXR team |
![]() ![]() |