linux/drivers/scsi/mvumi.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
  * Marvell UMI head file
  *
  * Copyright 2011 Marvell. <[email protected]>
 */

#ifndef MVUMI_H
#define MVUMI_H

#define MAX_BASE_ADDRESS

#define VER_MAJOR
#define VER_MINOR
#define VER_OEM
#define VER_BUILD

#define MV_DRIVER_NAME
#define PCI_DEVICE_ID_MARVELL_MV9143
#define PCI_DEVICE_ID_MARVELL_MV9580

#define MVUMI_INTERNAL_CMD_WAIT_TIME
#define MVUMI_INQUIRY_LENGTH
#define MVUMI_INQUIRY_UUID_OFF
#define MVUMI_INQUIRY_UUID_LEN

#define IS_DMA64

enum mvumi_qc_result {};

struct mvumi_hw_regs {};

struct mvumi_dyn_list_entry {};

#define SCSI_CMD_MARVELL_SPECIFIC
#define CDB_CORE_MODULE
#define CDB_CORE_SHUTDOWN

enum {};

#define APICDB0_EVENT
#define APICDB1_EVENT_GETEVENT
#define APICDB1_HOST_GETEVENT
#define MAX_EVENTS_RETURNED

#define DEVICE_OFFLINE
#define DEVICE_ONLINE

struct mvumi_hotplug_event {};

struct mvumi_driver_event {};

struct mvumi_event_req {};

struct mvumi_events_wq {};

#define HS_CAPABILITY_SUPPORT_COMPACT_SG
#define HS_CAPABILITY_SUPPORT_PRD_HOST
#define HS_CAPABILITY_SUPPORT_DYN_SRC
#define HS_CAPABILITY_NEW_PAGE_IO_DEPTH_DEF

#define MVUMI_MAX_SG_ENTRY
#define SGD_EOT
#define SGD_EOT_CP

struct mvumi_sgl {};
struct mvumi_compact_sgl {};

#define GET_COMPACT_SGD_SIZE(sgd)

#define SET_COMPACT_SGD_SIZE(sgd, sz)
#define sgd_getsz(_mhba, sgd, sz)

#define sgd_setsz(_mhba, sgd, sz)

#define sgd_inc(_mhba, sgd)

struct mvumi_res {};

/* Resource type */
enum resource_type {};

struct mvumi_sense_data {};

/* Request initiator must set the status to REQ_STATUS_PENDING. */
#define REQ_STATUS_PENDING

struct mvumi_cmd {};

struct mvumi_cmd_priv {};

static inline struct mvumi_cmd_priv *mvumi_priv(struct scsi_cmnd *cmd)
{}

/*
 * the function type of the in bound frame
 */
#define CL_FUN_SCSI_CMD

struct mvumi_msg_frame {};

/*
 * the respond flag for data_payload of the out bound frame
 */
#define CL_RSP_FLAG_NODATA
#define CL_RSP_FLAG_SENSEDATA

struct mvumi_rsp_frame {};

struct mvumi_ob_data {};

struct version_info {};

#define FW_MAX_DELAY
#define MVUMI_FW_BUSY
#define MVUMI_FW_ATTACH
#define MVUMI_FW_ALLOC

/*
 * State is the state of the MU
 */
#define FW_STATE_IDLE
#define FW_STATE_STARTING
#define FW_STATE_HANDSHAKING
#define FW_STATE_STARTED
#define FW_STATE_ABORT

#define HANDSHAKE_SIGNATURE
#define HANDSHAKE_READYSTATE
#define HANDSHAKE_DONESTATE

/* HandShake Status definition */
#define HS_STATUS_OK
#define HS_STATUS_ERR
#define HS_STATUS_INVALID

/* HandShake State/Cmd definition */
#define HS_S_START
#define HS_S_RESET
#define HS_S_PAGE_ADDR
#define HS_S_QUERY_PAGE
#define HS_S_SEND_PAGE
#define HS_S_END
#define HS_S_ABORT
#define HS_PAGE_VERIFY_SIZE

#define HS_GET_STATE(a)
#define HS_GET_STATUS(a)
#define HS_SET_STATE(a, b)
#define HS_SET_STATUS(a, b)

/* handshake frame */
struct mvumi_hs_frame {};

struct mvumi_hs_header {};

/*
 * the page code type of the handshake header
 */
#define HS_PAGE_FIRM_CAP
#define HS_PAGE_HOST_INFO
#define HS_PAGE_FIRM_CTL
#define HS_PAGE_CL_INFO
#define HS_PAGE_TOTAL

#define HSP_SIZE(i)

#define HSP_MAX_SIZE

/* The format of the page code for Firmware capability */
struct mvumi_hs_page1 {};

/* The format of the page code for Host information */
struct mvumi_hs_page2 {};

/* The format of the page code for firmware control  */
struct mvumi_hs_page3 {};

struct mvumi_hs_page4 {};

struct mvumi_tag {};

struct mvumi_device {};

struct mvumi_hba {};

struct mvumi_instance_template {};

extern struct timezone sys_tz;
#endif