Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | /* SPDX-License-Identifier: GPL-2.0-only */ /* * QLogic iSCSI Offload Driver * Copyright (c) 2016 Cavium Inc. */ #ifndef _QEDI_FW_ISCSI_H_ #define _QEDI_FW_ISCSI_H_ #include "qedi_fw_scsi.h" struct iscsi_task_params { struct iscsi_task_context *context; struct iscsi_wqe *sqe; u32 tx_io_size; u32 rx_io_size; u16 conn_icid; u16 itid; u8 cq_rss_number; }; struct iscsi_conn_params { u32 first_burst_length; u32 max_send_pdu_length; u32 max_burst_length; bool initial_r2t; bool immediate_data; }; /* @brief init_initiator_read_iscsi_task - initializes iSCSI Initiator Read * task context. * * @param task_params - Pointer to task parameters struct * @param conn_params - Connection Parameters * @param cmd_params - command specific parameters * @param cmd_pdu_header - PDU Header Parameters * @param sgl_task_params - Pointer to SGL task params * @param dif_task_params - Pointer to DIF parameters struct */ int init_initiator_rw_iscsi_task(struct iscsi_task_params *task_params, struct iscsi_conn_params *conn_params, struct scsi_initiator_cmd_params *cmd_params, struct iscsi_cmd_hdr *cmd_pdu_header, struct scsi_sgl_task_params *tx_sgl_params, struct scsi_sgl_task_params *rx_sgl_params, struct scsi_dif_task_params *dif_task_params); /* @brief init_initiator_login_request_task - initializes iSCSI Initiator Login * Request task context. * * @param task_params - Pointer to task parameters struct * @param login_req_pdu_header - PDU Header Parameters * @param tx_sgl_task_params - Pointer to SGL task params * @param rx_sgl_task_params - Pointer to SGL task params */ int init_initiator_login_request_task(struct iscsi_task_params *task_params, struct iscsi_login_req_hdr *login_header, struct scsi_sgl_task_params *tx_params, struct scsi_sgl_task_params *rx_params); /* @brief init_initiator_nop_out_task - initializes iSCSI Initiator NOP Out * task context. * * @param task_params - Pointer to task parameters struct * @param nop_out_pdu_header - PDU Header Parameters * @param tx_sgl_task_params - Pointer to SGL task params * @param rx_sgl_task_params - Pointer to SGL task params */ int init_initiator_nop_out_task(struct iscsi_task_params *task_params, struct iscsi_nop_out_hdr *nop_out_pdu_header, struct scsi_sgl_task_params *tx_sgl_params, struct scsi_sgl_task_params *rx_sgl_params); /* @brief init_initiator_logout_request_task - initializes iSCSI Initiator * Logout Request task context. * * @param task_params - Pointer to task parameters struct * @param logout_pdu_header - PDU Header Parameters * @param tx_sgl_task_params - Pointer to SGL task params * @param rx_sgl_task_params - Pointer to SGL task params */ int init_initiator_logout_request_task(struct iscsi_task_params *task_params, struct iscsi_logout_req_hdr *logout_hdr, struct scsi_sgl_task_params *tx_params, struct scsi_sgl_task_params *rx_params); /* @brief init_initiator_tmf_request_task - initializes iSCSI Initiator TMF * task context. * * @param task_params - Pointer to task parameters struct * @param tmf_pdu_header - PDU Header Parameters */ int init_initiator_tmf_request_task(struct iscsi_task_params *task_params, struct iscsi_tmf_request_hdr *tmf_header); /* @brief init_initiator_text_request_task - initializes iSCSI Initiator Text * Request task context. * * @param task_params - Pointer to task parameters struct * @param text_request_pdu_header - PDU Header Parameters * @param tx_sgl_task_params - Pointer to Tx SGL task params * @param rx_sgl_task_params - Pointer to Rx SGL task params */ int init_initiator_text_request_task(struct iscsi_task_params *task_params, struct iscsi_text_request_hdr *text_header, struct scsi_sgl_task_params *tx_params, struct scsi_sgl_task_params *rx_params); /* @brief init_cleanup_task - initializes Clean task (SQE) * * @param task_params - Pointer to task parameters struct */ int init_cleanup_task(struct iscsi_task_params *task_params); #endif |