brintos

brintos / linux-shallow public Read only

0
0
Text · 4.1 KiB · df2d471 Raw
115 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2/*3 * QLogic iSCSI Offload Driver4 * Copyright (c) 2016 Cavium Inc.5 */6 7#ifndef _QEDI_FW_ISCSI_H_8#define _QEDI_FW_ISCSI_H_9 10#include "qedi_fw_scsi.h"11 12struct iscsi_task_params {13	struct iscsi_task_context *context;14	struct iscsi_wqe	  *sqe;15	u32			  tx_io_size;16	u32			  rx_io_size;17	u16			  conn_icid;18	u16			  itid;19	u8			  cq_rss_number;20};21 22struct iscsi_conn_params {23	u32	first_burst_length;24	u32	max_send_pdu_length;25	u32	max_burst_length;26	bool	initial_r2t;27	bool	immediate_data;28};29 30/* @brief init_initiator_read_iscsi_task - initializes iSCSI Initiator Read31 * task context.32 *33 * @param task_params	  - Pointer to task parameters struct34 * @param conn_params	  - Connection Parameters35 * @param cmd_params	  - command specific parameters36 * @param cmd_pdu_header  - PDU Header Parameters37 * @param sgl_task_params - Pointer to SGL task params38 * @param dif_task_params - Pointer to DIF parameters struct39 */40int init_initiator_rw_iscsi_task(struct iscsi_task_params *task_params,41				 struct iscsi_conn_params *conn_params,42				 struct scsi_initiator_cmd_params *cmd_params,43				 struct iscsi_cmd_hdr *cmd_pdu_header,44				 struct scsi_sgl_task_params *tx_sgl_params,45				 struct scsi_sgl_task_params *rx_sgl_params,46				 struct scsi_dif_task_params *dif_task_params);47 48/* @brief init_initiator_login_request_task - initializes iSCSI Initiator Login49 * Request task context.50 *51 * @param task_params		  - Pointer to task parameters struct52 * @param login_req_pdu_header    - PDU Header Parameters53 * @param tx_sgl_task_params	  - Pointer to SGL task params54 * @param rx_sgl_task_params	  - Pointer to SGL task params55 */56int init_initiator_login_request_task(struct iscsi_task_params *task_params,57				      struct iscsi_login_req_hdr *login_header,58				      struct scsi_sgl_task_params *tx_params,59				      struct scsi_sgl_task_params *rx_params);60 61/* @brief init_initiator_nop_out_task - initializes iSCSI Initiator NOP Out62 * task context.63 *64 * @param task_params		- Pointer to task parameters struct65 * @param nop_out_pdu_header    - PDU Header Parameters66 * @param tx_sgl_task_params	- Pointer to SGL task params67 * @param rx_sgl_task_params	- Pointer to SGL task params68 */69int init_initiator_nop_out_task(struct iscsi_task_params *task_params,70				struct iscsi_nop_out_hdr *nop_out_pdu_header,71				struct scsi_sgl_task_params *tx_sgl_params,72				struct scsi_sgl_task_params *rx_sgl_params);73 74/* @brief init_initiator_logout_request_task - initializes iSCSI Initiator75 * Logout Request task context.76 *77 * @param task_params		- Pointer to task parameters struct78 * @param logout_pdu_header  - PDU Header Parameters79 * @param tx_sgl_task_params	- Pointer to SGL task params80 * @param rx_sgl_task_params	- Pointer to SGL task params81 */82int init_initiator_logout_request_task(struct iscsi_task_params *task_params,83				       struct iscsi_logout_req_hdr *logout_hdr,84				       struct scsi_sgl_task_params *tx_params,85				       struct scsi_sgl_task_params *rx_params);86 87/* @brief init_initiator_tmf_request_task - initializes iSCSI Initiator TMF88 * task context.89 *90 * @param task_params	- Pointer to task parameters struct91 * @param tmf_pdu_header - PDU Header Parameters92 */93int init_initiator_tmf_request_task(struct iscsi_task_params *task_params,94				    struct iscsi_tmf_request_hdr *tmf_header);95 96/* @brief init_initiator_text_request_task - initializes iSCSI Initiator Text97 * Request task context.98 *99 * @param task_params		     - Pointer to task parameters struct100 * @param text_request_pdu_header    - PDU Header Parameters101 * @param tx_sgl_task_params	     - Pointer to Tx SGL task params102 * @param rx_sgl_task_params	     - Pointer to Rx SGL task params103 */104int init_initiator_text_request_task(struct iscsi_task_params *task_params,105				     struct iscsi_text_request_hdr *text_header,106				     struct scsi_sgl_task_params *tx_params,107				     struct scsi_sgl_task_params *rx_params);108 109/* @brief init_cleanup_task - initializes Clean task (SQE)110 *111 * @param task_params - Pointer to task parameters struct112 */113int init_cleanup_task(struct iscsi_task_params *task_params);114#endif115