root/drivers/scsi/qedf/drv_fcoe_fw_funcs.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0-only */
   2 /* QLogic FCoE Offload Driver
   3  * Copyright (c) 2016-2018 Cavium Inc.
   4  */
   5 #ifndef _FCOE_FW_FUNCS_H
   6 #define _FCOE_FW_FUNCS_H
   7 #include "drv_scsi_fw_funcs.h"
   8 #include "qedf_hsi.h"
   9 #include <linux/qed/qed_if.h>
  10 
  11 struct fcoe_task_params {
  12         /* Output parameter [set/filled by the HSI function] */
  13         struct e4_fcoe_task_context *context;
  14 
  15         /* Output parameter [set/filled by the HSI function] */
  16         struct fcoe_wqe *sqe;
  17         enum fcoe_task_type task_type;
  18         u32 tx_io_size; /* in bytes */
  19         u32 rx_io_size; /* in bytes */
  20         u32 conn_cid;
  21         u16 itid;
  22         u8 cq_rss_number;
  23 
  24          /* Whether it's Tape device or not (0=Disk, 1=Tape) */
  25         u8 is_tape_device;
  26 };
  27 
  28 /**
  29  * @brief init_initiator_rw_fcoe_task - Initializes FCoE task context for
  30  * read/write task types and init fcoe_sqe
  31  *
  32  * @param task_params - Pointer to task parameters struct
  33  * @param sgl_task_params - Pointer to SGL task params
  34  * @param sense_data_buffer_phys_addr - Pointer to sense data buffer
  35  * @param task_retry_id - retry identification - Used only for Tape device
  36  * @param fcp_cmnd_payload - FCP CMD Payload
  37  */
  38 int init_initiator_rw_fcoe_task(struct fcoe_task_params *task_params,
  39         struct scsi_sgl_task_params *sgl_task_params,
  40         struct regpair sense_data_buffer_phys_addr,
  41         u32 task_retry_id,
  42         u8 fcp_cmd_payload[32]);
  43 
  44 /**
  45  * @brief init_initiator_midpath_fcoe_task - Initializes FCoE task context for
  46  * midpath/unsolicited task types and init fcoe_sqe
  47  *
  48  * @param task_params - Pointer to task parameters struct
  49  * @param mid_path_fc_header - FC header
  50  * @param tx_sgl_task_params - Pointer to Tx SGL task params
  51  * @param rx_sgl_task_params - Pointer to Rx SGL task params
  52  * @param fw_to_place_fc_header - Indication if the FW will place the FC header
  53  * in addition to the data arrives.
  54  */
  55 int init_initiator_midpath_unsolicited_fcoe_task(
  56         struct fcoe_task_params *task_params,
  57         struct fcoe_tx_mid_path_params *mid_path_fc_header,
  58         struct scsi_sgl_task_params *tx_sgl_task_params,
  59         struct scsi_sgl_task_params *rx_sgl_task_params,
  60         u8 fw_to_place_fc_header);
  61 
  62 /**
  63  * @brief init_initiator_abort_fcoe_task - Initializes FCoE task context for
  64  * abort task types and init fcoe_sqe
  65  *
  66  * @param task_params - Pointer to task parameters struct
  67  */
  68 int init_initiator_abort_fcoe_task(struct fcoe_task_params *task_params);
  69 
  70 /**
  71  * @brief init_initiator_cleanup_fcoe_task - Initializes FCoE task context for
  72  * cleanup task types and init fcoe_sqe
  73  *
  74  *
  75  * @param task_params - Pointer to task parameters struct
  76  */
  77 int init_initiator_cleanup_fcoe_task(struct fcoe_task_params *task_params);
  78 
  79 /**
  80  * @brief init_initiator_cleanup_fcoe_task - Initializes FCoE task context for
  81  * sequence recovery task types and init fcoe_sqe
  82  *
  83  *
  84  * @param task_params - Pointer to task parameters struct
  85  * @param desired_offset - The desired offest the task will be re-sent from
  86  */
  87 int init_initiator_sequence_recovery_fcoe_task(
  88         struct fcoe_task_params *task_params,
  89         u32 desired_offset);
  90 #endif

/* [<][>][^][v][top][bottom][index][help] */