linux/drivers/scsi/snic/snic_io.h

/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright 2014 Cisco Systems, Inc.  All rights reserved. */

#ifndef _SNIC_IO_H
#define _SNIC_IO_H

#define SNIC_DFLT_SG_DESC_CNT
#define SNIC_MAX_SG_DESC_CNT
#define SNIC_SG_DESC_ALIGN

/* SG descriptor for snic */
struct snic_sg_desc {};

struct snic_dflt_sgl {};

struct snic_max_sgl {};

enum snic_req_cache_type {};

/* Per IO internal state */
struct snic_internal_io_state {};

/* IO state machine */
enum snic_ioreq_state {};

struct snic;
struct snic_host_req;

/*
 * snic_req_info : Contains info about IO, one per scsi command.
 * Notes: Make sure that the structure is aligned to 16 B
 * this helps in easy access to snic_req_info from snic_host_req
 */
struct snic_req_info {};


#define rqi_to_req(rqi)

#define req_to_rqi(req)

#define req_to_sgl(req)

struct snic_req_info *
snic_req_init(struct snic *, int sg_cnt);
void snic_req_free(struct snic *, struct snic_req_info *);
void snic_calc_io_process_time(struct snic *, struct snic_req_info *);
void snic_pci_unmap_rsp_buf(struct snic *, struct snic_req_info *);
struct snic_host_req *
snic_abort_req_init(struct snic *, struct snic_req_info *);
struct snic_host_req *
snic_dr_req_init(struct snic *, struct snic_req_info *);
#endif /* _SNIC_IO_H */