linux/drivers/scsi/qedi/qedi.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * QLogic iSCSI Offload Driver
 * Copyright (c) 2016 Cavium Inc.
 */

#ifndef _QEDI_H_
#define _QEDI_H_

#define __PREVENT_QED_HSI__

#include <scsi/scsi_transport_iscsi.h>
#include <scsi/libiscsi.h>
#include <scsi/scsi_host.h>
#include <linux/uio_driver.h>

#include "qedi_hsi.h"
#include <linux/qed/qed_if.h>
#include "qedi_dbg.h"
#include <linux/qed/qed_iscsi_if.h>
#include <linux/qed/qed_ll2_if.h>
#include "qedi_version.h"
#include "qedi_nvm_iscsi_cfg.h"

#define QEDI_MODULE_NAME

struct qedi_endpoint;

#ifndef GET_FIELD2
#define GET_FIELD2(value, name)
#endif

/*
 * PCI function probe defines
 */
#define QEDI_MODE_NORMAL
#define QEDI_MODE_RECOVERY
#define QEDI_MODE_SHUTDOWN

#define ISCSI_WQE_SET_PTU_INVALIDATE
#define QEDI_MAX_ISCSI_TASK
#define QEDI_MAX_TASK_NUM
#define QEDI_MAX_ISCSI_CONNS_PER_HBA
#define QEDI_ISCSI_MAX_BDS_PER_CMD
#define MAX_OUTSTANDING_TASKS_PER_CON

#define QEDI_MAX_BD_LEN
#define QEDI_BD_SPLIT_SZ
#define QEDI_PAGE_SIZE
#define QEDI_FAST_SGE_COUNT
/* MAX Length for cached SGL */
#define MAX_SGLEN_FOR_CACHESGL

#define MIN_NUM_CPUS_MSIX(x)

#define QEDI_LOCAL_PORT_MIN
#define QEDI_LOCAL_PORT_MAX
#define QEDI_LOCAL_PORT_RANGE
#define QEDI_LOCAL_PORT_INVALID
#define TX_RX_RING
#define RX_RING
#define QEDI_PAGE_ALIGN(addr)
#define QEDI_PAGE_MASK

#define QEDI_HW_DMA_BOUNDARY
#define QEDI_PATH_HANDLE

enum qedi_nvm_tgts {};

struct qedi_nvm_iscsi_image {};

struct qedi_uio_ctrl {};

struct qedi_rx_bd {};

#define QEDI_RX_DESC_CNT
#define QEDI_MAX_RX_DESC_CNT
#define QEDI_NUM_RX_BD
#define QEDI_MAX_RX_BD

#define QEDI_NEXT_RX_IDX(x)

struct qedi_uio_dev {};

/* List to maintain the skb pointers */
struct skb_work_list {};

/* Queue sizes in number of elements */
#define QEDI_SQ_SIZE
#define QEDI_CQ_SIZE
#define QEDI_CMDQ_SIZE
#define QEDI_PROTO_CQ_PROD_IDX

struct qedi_glbl_q_params {};

struct global_queue {};

struct qedi_fastpath {};

/* Used to pass fastpath information needed to process CQEs */
struct qedi_io_work {};

/**
 * struct iscsi_cid_queue - Per adapter iscsi cid queue
 *
 * @cid_que_base:           queue base memory
 * @cid_que:                queue memory pointer
 * @cid_q_prod_idx:         produce index
 * @cid_q_cons_idx:         consumer index
 * @cid_q_max_idx:          max index. used to detect wrap around condition
 * @cid_free_cnt:           queue size
 * @conn_cid_tbl:           iscsi cid to conn structure mapping table
 *
 * Per adapter iSCSI CID Queue
 */
struct iscsi_cid_queue {};

struct qedi_portid_tbl {};

struct qedi_itt_map {};

/* I/O tracing entry */
#define QEDI_IO_TRACE_SIZE
struct qedi_io_log {};

/* Number of entries in BDQ */
#define QEDI_BDQ_NUM
#define QEDI_BDQ_BUF_SIZE

/* DMA coherent buffers for BDQ */
struct qedi_bdq_buf {};

/* Main port level struct */
struct qedi_ctx {};

struct qedi_work {};

struct qedi_percpu_s {};

static inline void *qedi_get_task_mem(struct qed_iscsi_tid *info, u32 tid)
{}

#define QEDI_U64_HI(val)
#define QEDI_U64_LO(val)

#endif /* _QEDI_H_ */