summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/elx/efct/efct_hw.h
diff options
context:
space:
mode:
authorJames Smart <jsmart2021@gmail.com>2021-06-02 01:55:07 +0200
committerMartin K. Petersen <martin.petersen@oracle.com>2021-06-16 05:39:32 +0200
commitdd53d333aadb980944021d076c825d5736a13db5 (patch)
treeec7e556e45cbf61628c226f2a7ccc8ab91141246 /drivers/scsi/elx/efct/efct_hw.h
parentscsi: elx: efct: LIO backend interface routines (diff)
downloadlinux-dd53d333aadb980944021d076c825d5736a13db5.tar.xz
linux-dd53d333aadb980944021d076c825d5736a13db5.zip
scsi: elx: efct: Hardware I/O submission routines
Routines that write I/O to work queue, send SRRs and raw frames. Link: https://lore.kernel.org/r/20210601235512.20104-27-jsmart2021@gmail.com Reviewed-by: Hannes Reinecke <hare@suse.de> Reviewed-by: Daniel Wagner <dwagner@suse.de> Co-developed-by: Ram Vegesna <ram.vegesna@broadcom.com> Signed-off-by: Ram Vegesna <ram.vegesna@broadcom.com> Signed-off-by: James Smart <jsmart2021@gmail.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to '')
-rw-r--r--drivers/scsi/elx/efct/efct_hw.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/scsi/elx/efct/efct_hw.h b/drivers/scsi/elx/efct/efct_hw.h
index a2e4ea79e239..b9e7f5b4115b 100644
--- a/drivers/scsi/elx/efct/efct_hw.h
+++ b/drivers/scsi/elx/efct/efct_hw.h
@@ -690,5 +690,19 @@ int
efct_hw_process(struct efct_hw *hw, u32 vector, u32 max_isr_time_msec);
int
efct_hw_queue_hash_find(struct efct_queue_hash *hash, u16 id);
+int efct_hw_wq_write(struct hw_wq *wq, struct efct_hw_wqe *wqe);
+int
+efct_hw_send_frame(struct efct_hw *hw, struct fc_frame_header *hdr,
+ u8 sof, u8 eof, struct efc_dma *payload,
+ struct efct_hw_send_frame_context *ctx,
+ void (*callback)(void *arg, u8 *cqe, int status),
+ void *arg);
+int
+efct_els_hw_srrs_send(struct efc *efc, struct efc_disc_io *io);
+int
+efct_efc_bls_send(struct efc *efc, u32 type, struct sli_bls_params *bls);
+int
+efct_hw_bls_send(struct efct *efct, u32 type, struct sli_bls_params *bls_params,
+ void *cb, void *arg);
#endif /* __EFCT_H__ */