Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
ibmvfc.h File Reference
#include <linux/list.h>
#include <linux/types.h>
#include "viosrp.h"

Go to the source code of this file.

Data Structures

struct  ibmvfc_mad_common
 
struct  ibmvfc_npiv_login_mad
 
struct  ibmvfc_npiv_logout_mad
 
struct  ibmvfc_npiv_login
 
struct  ibmvfc_common_svc_parms
 
struct  ibmvfc_service_parms
 
struct  ibmvfc_npiv_login_resp
 
union  ibmvfc_npiv_login_data
 
struct  ibmvfc_discover_targets_buf
 
struct  ibmvfc_discover_targets
 
struct  ibmvfc_port_login
 
struct  ibmvfc_prli_svc_parms
 
struct  ibmvfc_process_login
 
struct  ibmvfc_query_tgt
 
struct  ibmvfc_implicit_logout
 
struct  ibmvfc_tmf
 
struct  ibmvfc_fcp_rsp_info
 
union  ibmvfc_fcp_rsp_data
 
struct  ibmvfc_fcp_rsp
 
struct  ibmvfc_fcp_cmd_iu
 
struct  ibmvfc_cmd
 
struct  ibmvfc_passthru_fc_iu
 
struct  ibmvfc_passthru_iu
 
struct  ibmvfc_passthru_mad
 
struct  ibmvfc_trace_start_entry
 
struct  ibmvfc_trace_end_entry
 
struct  ibmvfc_trace_entry
 
struct  ibmvfc_async_desc
 
struct  ibmvfc_crq
 
struct  ibmvfc_crq_queue
 
struct  ibmvfc_async_crq
 
struct  ibmvfc_async_crq_queue
 
union  ibmvfc_iu
 
struct  ibmvfc_target
 
struct  ibmvfc_event
 
struct  ibmvfc_event_pool
 
struct  ibmvfc_host
 

Macros

#define IBMVFC_NAME   "ibmvfc"
 
#define IBMVFC_DRIVER_VERSION   "1.0.10"
 
#define IBMVFC_DRIVER_DATE   "(August 24, 2012)"
 
#define IBMVFC_DEFAULT_TIMEOUT   60
 
#define IBMVFC_ADISC_CANCEL_TIMEOUT   45
 
#define IBMVFC_ADISC_TIMEOUT   15
 
#define IBMVFC_ADISC_PLUS_CANCEL_TIMEOUT   (IBMVFC_ADISC_TIMEOUT + IBMVFC_ADISC_CANCEL_TIMEOUT)
 
#define IBMVFC_INIT_TIMEOUT   120
 
#define IBMVFC_ABORT_TIMEOUT   8
 
#define IBMVFC_ABORT_WAIT_TIMEOUT   40
 
#define IBMVFC_MAX_REQUESTS_DEFAULT   100
 
#define IBMVFC_DEBUG   0
 
#define IBMVFC_MAX_TARGETS   1024
 
#define IBMVFC_MAX_LUN   0xffffffff
 
#define IBMVFC_MAX_SECTORS   0xffffu
 
#define IBMVFC_MAX_DISC_THREADS   4
 
#define IBMVFC_TGT_MEMPOOL_SZ   64
 
#define IBMVFC_MAX_CMDS_PER_LUN   64
 
#define IBMVFC_MAX_HOST_INIT_RETRIES   6
 
#define IBMVFC_MAX_TGT_INIT_RETRIES   3
 
#define IBMVFC_DEV_LOSS_TMO   (5 * 60)
 
#define IBMVFC_DEFAULT_LOG_LEVEL   2
 
#define IBMVFC_MAX_CDB_LEN   16
 
#define IBMVFC_NUM_INTERNAL_REQ   (1 + 1 + 1 + 2 + (disc_threads * 2))
 
#define IBMVFC_MAD_SUCCESS   0x00
 
#define IBMVFC_MAD_NOT_SUPPORTED   0xF1
 
#define IBMVFC_MAD_FAILED   0xF7
 
#define IBMVFC_MAD_DRIVER_FAILED   0xEE
 
#define IBMVFC_MAD_CRQ_ERROR   0xEF
 
#define IBMVFC_MAX_NAME   256
 
#define IBMVFC_OS_LINUX   0x02
 
#define IBMVFC_CLIENT_MIGRATED   0x01
 
#define IBMVFC_FLUSH_ON_HALT   0x02
 
#define IBMVFC_CAN_MIGRATE   0x01
 
#define IBMVFC_NATIVE_FC   0x01
 
#define IBMVFC_CAN_FLUSH_ON_HALT   0x08
 
#define IBMVFC_CAN_FLUSH_ON_HALT   0x08
 
#define IBMVFC_DISC_TGT_SCSI_ID_MASK   0x00ffffff
 
#define IBMVFC_SCSI_FCP_TYPE   0x08
 
#define IBMVFC_PRLI_ORIG_PA_VALID   0x8000
 
#define IBMVFC_PRLI_RESP_PA_VALID   0x4000
 
#define IBMVFC_PRLI_EST_IMG_PAIR   0x2000
 
#define IBMVFC_PRLI_TASK_RETRY   0x00000200
 
#define IBMVFC_PRLI_RETRY   0x00000100
 
#define IBMVFC_PRLI_DATA_OVERLAY   0x00000040
 
#define IBMVFC_PRLI_INITIATOR_FUNC   0x00000020
 
#define IBMVFC_PRLI_TARGET_FUNC   0x00000010
 
#define IBMVFC_PRLI_READ_FCP_XFER_RDY_DISABLED   0x00000002
 
#define IBMVFC_PRLI_WR_FCP_XFER_RDY_DISABLED   0x00000001
 
#define IBMVFC_TMF_ABORT_TASK   0x02
 
#define IBMVFC_TMF_ABORT_TASK_SET   0x04
 
#define IBMVFC_TMF_LUN_RESET   0x10
 
#define IBMVFC_TMF_TGT_RESET   0x20
 
#define IBMVFC_TMF_LUA_VALID   0x40
 
#define IBMVFC_RDDATA   0x02
 
#define IBMVFC_WRDATA   0x01
 
#define IBMVFC_ADAPTER_RESID_VALID   0x01
 
#define IBMVFC_ADISC   0x52000000
 
#define IBMVFC_FC_ELS   0x01
 
#define IBMVFC_FC_CT_IU   0x02
 
#define IBMVFC_PASSTHRU_CANCEL_KEY   0x80000000
 
#define IBMVFC_INTERNAL_CANCEL_KEY   0x80000001
 
#define IBMVFC_TRC_START   0x00
 
#define IBMVFC_TRC_END   0xff
 
#define IBMVFC_NUM_TRACE_INDEX_BITS   8
 
#define IBMVFC_NUM_TRACE_ENTRIES   (1 << IBMVFC_NUM_TRACE_INDEX_BITS)
 
#define IBMVFC_TRACE_SIZE   (sizeof(struct ibmvfc_trace_entry) * IBMVFC_NUM_TRACE_ENTRIES)
 
#define IBMVFC_AE_LINKUP   0x0001
 
#define IBMVFC_AE_LINKDOWN   0x0002
 
#define IBMVFC_AE_RSCN   0x0004
 
#define DBG_CMD(CMD)   do { if (ibmvfc_debug) CMD; } while (0)
 
#define tgt_dbg(t, fmt,...)   DBG_CMD(dev_info((t)->vhost->dev, "%llX: " fmt, (t)->scsi_id, ##__VA_ARGS__))
 
#define tgt_info(t, fmt,...)   dev_info((t)->vhost->dev, "%llX: " fmt, (t)->scsi_id, ##__VA_ARGS__)
 
#define tgt_err(t, fmt,...)   dev_err((t)->vhost->dev, "%llX: " fmt, (t)->scsi_id, ##__VA_ARGS__)
 
#define tgt_log(t, level, fmt,...)
 
#define ibmvfc_dbg(vhost,...)   DBG_CMD(dev_info((vhost)->dev, ##__VA_ARGS__))
 
#define ibmvfc_log(vhost, level,...)
 
#define ENTER   DBG_CMD(printk(KERN_INFO IBMVFC_NAME": Entering %s\n", __func__))
 
#define LEAVE   DBG_CMD(printk(KERN_INFO IBMVFC_NAME": Leaving %s\n", __func__))
 
#define ibmvfc_create_trace_file(kobj, attr)   0
 
#define ibmvfc_remove_trace_file(kobj, attr)   do { } while (0)
 

Enumerations

enum  ibmvfc_crq_valid { IBMVFC_CRQ_CMD_RSP = 0x80, IBMVFC_CRQ_INIT_RSP = 0xC0, IBMVFC_CRQ_XPORT_EVENT = 0xFF }
 
enum  ibmvfc_crq_format { IBMVFC_CRQ_INIT = 0x01, IBMVFC_CRQ_INIT_COMPLETE = 0x02, IBMVFC_PARTITION_MIGRATED = 0x06 }
 
enum  ibmvfc_cmd_status_flags {
  IBMVFC_FABRIC_MAPPED = 0x0001, IBMVFC_VIOS_FAILURE = 0x0002, IBMVFC_FC_FAILURE = 0x0004, IBMVFC_FC_SCSI_ERROR = 0x0008,
  IBMVFC_HW_EVENT_LOGGED = 0x0010, IBMVFC_VIOS_LOGGED = 0x0020
}
 
enum  ibmvfc_fabric_mapped_errors {
  IBMVFC_UNABLE_TO_ESTABLISH = 0x0001, IBMVFC_XPORT_FAULT = 0x0002, IBMVFC_CMD_TIMEOUT = 0x0003, IBMVFC_ENETDOWN = 0x0004,
  IBMVFC_HW_FAILURE = 0x0005, IBMVFC_LINK_DOWN_ERR = 0x0006, IBMVFC_LINK_DEAD_ERR = 0x0007, IBMVFC_UNABLE_TO_REGISTER = 0x0008,
  IBMVFC_XPORT_BUSY = 0x000A, IBMVFC_XPORT_DEAD = 0x000B, IBMVFC_CONFIG_ERROR = 0x000C, IBMVFC_NAME_SERVER_FAIL = 0x000D,
  IBMVFC_LINK_HALTED = 0x000E, IBMVFC_XPORT_GENERAL = 0x8000
}
 
enum  ibmvfc_vios_errors {
  IBMVFC_CRQ_FAILURE = 0x0001, IBMVFC_SW_FAILURE = 0x0002, IBMVFC_INVALID_PARAMETER = 0x0003, IBMVFC_MISSING_PARAMETER = 0x0004,
  IBMVFC_HOST_IO_BUS = 0x0005, IBMVFC_TRANS_CANCELLED = 0x0006, IBMVFC_TRANS_CANCELLED_IMPLICIT = 0x0007, IBMVFC_INSUFFICIENT_RESOURCE = 0x0008,
  IBMVFC_PLOGI_REQUIRED = 0x0010, IBMVFC_COMMAND_FAILED = 0x8000
}
 
enum  ibmvfc_mad_types {
  IBMVFC_NPIV_LOGIN = 0x0001, IBMVFC_DISC_TARGETS = 0x0002, IBMVFC_PORT_LOGIN = 0x0004, IBMVFC_PROCESS_LOGIN = 0x0008,
  IBMVFC_QUERY_TARGET = 0x0010, IBMVFC_IMPLICIT_LOGOUT = 0x0040, IBMVFC_PASSTHRU = 0x0200, IBMVFC_TMF_MAD = 0x0100,
  IBMVFC_NPIV_LOGOUT = 0x0800
}
 
enum  ibmvfc_fc_reason {
  IBMVFC_INVALID_ELS_CMD_CODE = 0x01, IBMVFC_INVALID_VERSION = 0x02, IBMVFC_LOGICAL_ERROR = 0x03, IBMVFC_INVALID_CT_IU_SIZE = 0x04,
  IBMVFC_LOGICAL_BUSY = 0x05, IBMVFC_PROTOCOL_ERROR = 0x07, IBMVFC_UNABLE_TO_PERFORM_REQ = 0x09, IBMVFC_CMD_NOT_SUPPORTED = 0x0B,
  IBMVFC_SERVER_NOT_AVAIL = 0x0D, IBMVFC_CMD_IN_PROGRESS = 0x0E, IBMVFC_VENDOR_SPECIFIC = 0xFF
}
 
enum  ibmvfc_fc_type {
  IBMVFC_FABRIC_REJECT = 0x01, IBMVFC_PORT_REJECT = 0x02, IBMVFC_LS_REJECT = 0x03, IBMVFC_FABRIC_BUSY = 0x04,
  IBMVFC_PORT_BUSY = 0x05, IBMVFC_BASIC_REJECT = 0x06
}
 
enum  ibmvfc_gs_explain { IBMVFC_PORT_NAME_NOT_REG = 0x02 }
 
enum  ibmvfc_fcp_rsp_info_codes { RSP_NO_FAILURE = 0x00, RSP_TMF_REJECTED = 0x04, RSP_TMF_FAILED = 0x05, RSP_TMF_INVALID_LUN = 0x09 }
 
enum  ibmvfc_fcp_rsp_flags {
  FCP_BIDI_RSP = 0x80, FCP_BIDI_READ_RESID_UNDER = 0x40, FCP_BIDI_READ_RESID_OVER = 0x20, FCP_CONF_REQ = 0x10,
  FCP_RESID_UNDER = 0x08, FCP_RESID_OVER = 0x04, FCP_SNS_LEN_VALID = 0x02, FCP_RSP_LEN_VALID = 0x01
}
 
enum  ibmvfc_cmd_flags {
  IBMVFC_SCATTERLIST = 0x0001, IBMVFC_NO_MEM_DESC = 0x0002, IBMVFC_READ = 0x0004, IBMVFC_WRITE = 0x0008,
  IBMVFC_TMF = 0x0080, IBMVFC_CLASS_3_ERR = 0x0100
}
 
enum  ibmvfc_fc_task_attr { IBMVFC_SIMPLE_TASK = 0x00, IBMVFC_HEAD_OF_QUEUE = 0x01, IBMVFC_ORDERED_TASK = 0x02, IBMVFC_ACA_TASK = 0x04 }
 
enum  ibmvfc_fc_tmf_flags { IBMVFC_ABORT_TASK_SET = 0x02, IBMVFC_LUN_RESET = 0x10, IBMVFC_TARGET_RESET = 0x20 }
 
enum  ibmvfc_crq_formats { IBMVFC_CMD_FORMAT = 0x01, IBMVFC_ASYNC_EVENT = 0x02, IBMVFC_MAD_FORMAT = 0x04 }
 
enum  ibmvfc_async_event {
  IBMVFC_AE_ELS_PLOGI = 0x0001, IBMVFC_AE_ELS_LOGO = 0x0002, IBMVFC_AE_ELS_PRLO = 0x0004, IBMVFC_AE_SCN_NPORT = 0x0008,
  IBMVFC_AE_SCN_GROUP = 0x0010, IBMVFC_AE_SCN_DOMAIN = 0x0020, IBMVFC_AE_SCN_FABRIC = 0x0040, IBMVFC_AE_LINK_UP = 0x0080,
  IBMVFC_AE_LINK_DOWN = 0x0100, IBMVFC_AE_LINK_DEAD = 0x0200, IBMVFC_AE_HALT = 0x0400, IBMVFC_AE_RESUME = 0x0800,
  IBMVFC_AE_ADAPTER_FAILED = 0x1000
}
 
enum  ibmvfc_ae_link_state { IBMVFC_AE_LS_LINK_UP = 0x01, IBMVFC_AE_LS_LINK_BOUNCED = 0x02, IBMVFC_AE_LS_LINK_DOWN = 0x04, IBMVFC_AE_LS_LINK_DEAD = 0x08 }
 
enum  ibmvfc_target_action {
  IBMVFC_TGT_ACTION_NONE = 0, IBMVFC_TGT_ACTION_INIT, IBMVFC_TGT_ACTION_INIT_WAIT, IBMVFC_TGT_ACTION_DEL_RPORT,
  IBMVFC_TGT_ACTION_DELETED_RPORT
}
 
enum  ibmvfc_host_action {
  IBMVFC_HOST_ACTION_NONE = 0, IBMVFC_HOST_ACTION_RESET, IBMVFC_HOST_ACTION_REENABLE, IBMVFC_HOST_ACTION_LOGO,
  IBMVFC_HOST_ACTION_LOGO_WAIT, IBMVFC_HOST_ACTION_INIT, IBMVFC_HOST_ACTION_INIT_WAIT, IBMVFC_HOST_ACTION_QUERY,
  IBMVFC_HOST_ACTION_QUERY_TGTS, IBMVFC_HOST_ACTION_TGT_DEL, IBMVFC_HOST_ACTION_ALLOC_TGTS, IBMVFC_HOST_ACTION_TGT_INIT,
  IBMVFC_HOST_ACTION_TGT_DEL_FAILED
}
 
enum  ibmvfc_host_state {
  IBMVFC_NO_CRQ = 0, IBMVFC_INITIALIZING, IBMVFC_ACTIVE, IBMVFC_HALTED,
  IBMVFC_LINK_DOWN, IBMVFC_LINK_DEAD, IBMVFC_HOST_OFFLINE
}
 

Functions

struct ibmvfc_mad_common __attribute__ ((packed, aligned(8)))
 
struct ibmvfc_common_svc_parms __attribute__ ((packed, aligned(4)))
 
struct ibmvfc_fcp_rsp_info __attribute__ ((packed, aligned(2)))
 
struct ibmvfc_trace_start_entry __attribute__ ((packed))
 

Variables

u32 version
 
u32 reserved
 
u32 opcode
 
u16 status
 
u16 length
 
u64 tag
 
struct ibmvfc_mad_common common
 
struct srp_direct_buf buffer
 
u32 ostype
 
u32 pad
 
u64 max_dma_len
 
u32 max_payload
 
u32 max_response
 
u32 partition_num
 
u32 vfc_frame_version
 
u16 fcp_version
 
u16 flags
 
u32 max_cmds
 
u64 capabilities
 
u64 node_name
 
struct srp_direct_buf async
 
u8 partition_name [IBMVFC_MAX_NAME]
 
u8 device_name [IBMVFC_MAX_NAME]
 
u8 drc_name [IBMVFC_MAX_NAME]
 
u64 reserved2 [2]
 
u16 fcph_version
 
u16 b2b_credit
 
u16 features
 
u16 bb_rcv_sz
 
u32 ratov
 
u32 edtov
 
u8 port_name [8]
 
u32 class1_parms [4]
 
u32 class2_parms [4]
 
u32 class3_parms [4]
 
u32 obsolete [4]
 
u32 vendor_version [4]
 
u32 services_avail [2]
 
u32 ext_len
 
u32 clk_sync_qos [2]
 
u16 error
 
u32 scsi_id_sz
 
u64 scsi_id
 
u64 link_speed
 
u8 port_loc_code [IBMVFC_MAX_NAME]
 
struct ibmvfc_service_parms service_parms
 
struct ibmvfc_npiv_login login
 
struct ibmvfc_npiv_login_resp resp
 
struct ibmvfc_discover_targets_buf __attribute__
 
u32 bufflen
 
u32 num_avail
 
u32 num_written
 
u16 fc_service_class
 
u32 blksz
 
u32 hdr_per_blk
 
u16 fc_explain
 
u16 fc_type
 
struct ibmvfc_service_parms service_parms_change
 
u64 reserved3 [2]
 
u8 type
 
u8 type_ext
 
u32 orig_pa
 
u32 resp_pa
 
struct ibmvfc_prli_svc_parms parms
 
u64 wwpn
 
u64 old_scsi_id
 
struct scsi_lun lun
 
u32 cancel_key
 
u32 my_cancel_key
 
u8 rsp_code
 
struct ibmvfc_fcp_rsp_info info
 
u8 sense [SCSI_SENSE_BUFFERSIZE+sizeof(struct ibmvfc_fcp_rsp_info)]
 
u16 retry_delay_timer
 
u8 scsi_status
 
u32 fcp_resid
 
u32 fcp_sense_len
 
u32 fcp_rsp_len
 
union ibmvfc_fcp_rsp_data data
 
u8 crn
 
u8 pri_task_attr
 
u8 tmf_flags
 
u8 add_cdb_len
 
u8 cdb [IBMVFC_MAX_CDB_LEN]
 
u32 xfer_len
 
u64 task_tag
 
u32 frame_type
 
u32 payload_len
 
u32 resp_len
 
u32 adapter_resid
 
u16 response_flags
 
u32 exchange_id
 
struct srp_direct_buf ext_func
 
struct srp_direct_buf ioba
 
u64 correlation
 
u64 tgt_scsi_id
 
struct ibmvfc_fcp_cmd_iu iu
 
struct ibmvfc_fcp_rsp rsp
 
u32 cmd_len
 
u32 rsp_len
 
struct srp_direct_buf cmd
 
struct srp_direct_buf cmd_ioba
 
struct ibmvfc_passthru_fc_iu fc_iu
 
u8 fcp_rsp_flags
 
struct ibmvfc_eventevt
 
u32 time
 
u8 fmt
 
u8 op_code
 
union {
   struct ibmvfc_trace_start_entry   start
 
   struct ibmvfc_trace_end_entry   end
 
u
 
volatile u8 valid
 
volatile u8 format
 
u8 link_state
 
u32 pad2
 
volatile u64 event
 
struct ibmvfc_mad_common mad_common
 
struct ibmvfc_npiv_login_mad npiv_login
 
struct ibmvfc_npiv_logout_mad npiv_logout
 
struct ibmvfc_discover_targets discover_targets
 
struct ibmvfc_port_login plogi
 
struct ibmvfc_process_login prli
 
struct ibmvfc_query_tgt query_tgt
 
struct ibmvfc_implicit_logout implicit_logout
 
struct ibmvfc_tmf tmf
 
struct ibmvfc_passthru_mad passthru
 

Macro Definition Documentation

#define DBG_CMD (   CMD)    do { if (ibmvfc_debug) CMD; } while (0)

Definition at line 737 of file ibmvfc.h.

#define ENTER   DBG_CMD(printk(KERN_INFO IBMVFC_NAME": Entering %s\n", __func__))

Definition at line 763 of file ibmvfc.h.

#define IBMVFC_ABORT_TIMEOUT   8

Definition at line 41 of file ibmvfc.h.

#define IBMVFC_ABORT_WAIT_TIMEOUT   40

Definition at line 42 of file ibmvfc.h.

#define IBMVFC_ADAPTER_RESID_VALID   0x01

Definition at line 466 of file ibmvfc.h.

#define IBMVFC_ADISC   0x52000000

Definition at line 460 of file ibmvfc.h.

#define IBMVFC_ADISC_CANCEL_TIMEOUT   45

Definition at line 36 of file ibmvfc.h.

#define IBMVFC_ADISC_PLUS_CANCEL_TIMEOUT   (IBMVFC_ADISC_TIMEOUT + IBMVFC_ADISC_CANCEL_TIMEOUT)

Definition at line 38 of file ibmvfc.h.

#define IBMVFC_ADISC_TIMEOUT   15

Definition at line 37 of file ibmvfc.h.

#define IBMVFC_AE_LINKDOWN   0x0002

Definition at line 724 of file ibmvfc.h.

#define IBMVFC_AE_LINKUP   0x0001

Definition at line 723 of file ibmvfc.h.

#define IBMVFC_AE_RSCN   0x0004

Definition at line 725 of file ibmvfc.h.

#define IBMVFC_CAN_FLUSH_ON_HALT   0x08

Definition at line 237 of file ibmvfc.h.

#define IBMVFC_CAN_FLUSH_ON_HALT   0x08

Definition at line 237 of file ibmvfc.h.

#define IBMVFC_CAN_MIGRATE   0x01

Definition at line 194 of file ibmvfc.h.

#define IBMVFC_CLIENT_MIGRATED   0x01

Definition at line 190 of file ibmvfc.h.

#define ibmvfc_create_trace_file (   kobj,
  attr 
)    0

Definition at line 770 of file ibmvfc.h.

#define ibmvfc_dbg (   vhost,
  ... 
)    DBG_CMD(dev_info((vhost)->dev, ##__VA_ARGS__))

Definition at line 754 of file ibmvfc.h.

#define IBMVFC_DEBUG   0

Definition at line 45 of file ibmvfc.h.

#define IBMVFC_DEFAULT_LOG_LEVEL   2

Definition at line 55 of file ibmvfc.h.

#define IBMVFC_DEFAULT_TIMEOUT   60

Definition at line 35 of file ibmvfc.h.

#define IBMVFC_DEV_LOSS_TMO   (5 * 60)

Definition at line 54 of file ibmvfc.h.

#define IBMVFC_DISC_TGT_SCSI_ID_MASK   0x00ffffff

Definition at line 237 of file ibmvfc.h.

#define IBMVFC_DRIVER_DATE   "(August 24, 2012)"

Definition at line 33 of file ibmvfc.h.

#define IBMVFC_DRIVER_VERSION   "1.0.10"

Definition at line 32 of file ibmvfc.h.

#define IBMVFC_FC_CT_IU   0x02

Definition at line 491 of file ibmvfc.h.

#define IBMVFC_FC_ELS   0x01

Definition at line 490 of file ibmvfc.h.

#define IBMVFC_FLUSH_ON_HALT   0x02

Definition at line 191 of file ibmvfc.h.

#define IBMVFC_INIT_TIMEOUT   120

Definition at line 40 of file ibmvfc.h.

#define IBMVFC_INTERNAL_CANCEL_KEY   0x80000001

Definition at line 494 of file ibmvfc.h.

#define ibmvfc_log (   vhost,
  level,
  ... 
)
Value:
do { \
if ((vhost)->log_level >= level) \
dev_err((vhost)->dev, ##__VA_ARGS__); \
} while (0)

Definition at line 757 of file ibmvfc.h.

#define IBMVFC_MAD_CRQ_ERROR   0xEF

Definition at line 72 of file ibmvfc.h.

#define IBMVFC_MAD_DRIVER_FAILED   0xEE

Definition at line 71 of file ibmvfc.h.

#define IBMVFC_MAD_FAILED   0xF7

Definition at line 70 of file ibmvfc.h.

#define IBMVFC_MAD_NOT_SUPPORTED   0xF1

Definition at line 69 of file ibmvfc.h.

#define IBMVFC_MAD_SUCCESS   0x00

Definition at line 68 of file ibmvfc.h.

#define IBMVFC_MAX_CDB_LEN   16

Definition at line 56 of file ibmvfc.h.

#define IBMVFC_MAX_CMDS_PER_LUN   64

Definition at line 51 of file ibmvfc.h.

#define IBMVFC_MAX_DISC_THREADS   4

Definition at line 49 of file ibmvfc.h.

#define IBMVFC_MAX_HOST_INIT_RETRIES   6

Definition at line 52 of file ibmvfc.h.

#define IBMVFC_MAX_LUN   0xffffffff

Definition at line 47 of file ibmvfc.h.

#define IBMVFC_MAX_NAME   256

Definition at line 155 of file ibmvfc.h.

#define IBMVFC_MAX_REQUESTS_DEFAULT   100

Definition at line 43 of file ibmvfc.h.

#define IBMVFC_MAX_SECTORS   0xffffu

Definition at line 48 of file ibmvfc.h.

#define IBMVFC_MAX_TARGETS   1024

Definition at line 46 of file ibmvfc.h.

#define IBMVFC_MAX_TGT_INIT_RETRIES   3

Definition at line 53 of file ibmvfc.h.

#define IBMVFC_NAME   "ibmvfc"

Definition at line 31 of file ibmvfc.h.

#define IBMVFC_NATIVE_FC   0x01

Definition at line 233 of file ibmvfc.h.

#define IBMVFC_NUM_INTERNAL_REQ   (1 + 1 + 1 + 2 + (disc_threads * 2))

Definition at line 66 of file ibmvfc.h.

#define IBMVFC_NUM_TRACE_ENTRIES   (1 << IBMVFC_NUM_TRACE_INDEX_BITS)

Definition at line 691 of file ibmvfc.h.

#define IBMVFC_NUM_TRACE_INDEX_BITS   8

Definition at line 690 of file ibmvfc.h.

#define IBMVFC_OS_LINUX   0x02

Definition at line 181 of file ibmvfc.h.

#define IBMVFC_PASSTHRU_CANCEL_KEY   0x80000000

Definition at line 493 of file ibmvfc.h.

#define IBMVFC_PRLI_DATA_OVERLAY   0x00000040

Definition at line 327 of file ibmvfc.h.

#define IBMVFC_PRLI_EST_IMG_PAIR   0x2000

Definition at line 321 of file ibmvfc.h.

#define IBMVFC_PRLI_INITIATOR_FUNC   0x00000020

Definition at line 328 of file ibmvfc.h.

#define IBMVFC_PRLI_ORIG_PA_VALID   0x8000

Definition at line 319 of file ibmvfc.h.

#define IBMVFC_PRLI_READ_FCP_XFER_RDY_DISABLED   0x00000002

Definition at line 330 of file ibmvfc.h.

#define IBMVFC_PRLI_RESP_PA_VALID   0x4000

Definition at line 320 of file ibmvfc.h.

#define IBMVFC_PRLI_RETRY   0x00000100

Definition at line 326 of file ibmvfc.h.

#define IBMVFC_PRLI_TARGET_FUNC   0x00000010

Definition at line 329 of file ibmvfc.h.

#define IBMVFC_PRLI_TASK_RETRY   0x00000200

Definition at line 325 of file ibmvfc.h.

#define IBMVFC_PRLI_WR_FCP_XFER_RDY_DISABLED   0x00000001

Definition at line 331 of file ibmvfc.h.

#define IBMVFC_RDDATA   0x02

Definition at line 438 of file ibmvfc.h.

#define ibmvfc_remove_trace_file (   kobj,
  attr 
)    do { } while (0)

Definition at line 771 of file ibmvfc.h.

#define IBMVFC_SCSI_FCP_TYPE   0x08

Definition at line 316 of file ibmvfc.h.

#define IBMVFC_TGT_MEMPOOL_SZ   64

Definition at line 50 of file ibmvfc.h.

#define IBMVFC_TMF_ABORT_TASK   0x02

Definition at line 363 of file ibmvfc.h.

#define IBMVFC_TMF_ABORT_TASK_SET   0x04

Definition at line 364 of file ibmvfc.h.

#define IBMVFC_TMF_LUA_VALID   0x40

Definition at line 367 of file ibmvfc.h.

#define IBMVFC_TMF_LUN_RESET   0x10

Definition at line 365 of file ibmvfc.h.

#define IBMVFC_TMF_TGT_RESET   0x20

Definition at line 366 of file ibmvfc.h.

#define IBMVFC_TRACE_SIZE   (sizeof(struct ibmvfc_trace_entry) * IBMVFC_NUM_TRACE_ENTRIES)

Definition at line 692 of file ibmvfc.h.

#define IBMVFC_TRC_END   0xff

Definition at line 530 of file ibmvfc.h.

#define IBMVFC_TRC_START   0x00

Definition at line 529 of file ibmvfc.h.

#define IBMVFC_WRDATA   0x01

Definition at line 439 of file ibmvfc.h.

#define LEAVE   DBG_CMD(printk(KERN_INFO IBMVFC_NAME": Leaving %s\n", __func__))

Definition at line 764 of file ibmvfc.h.

#define tgt_dbg (   t,
  fmt,
  ... 
)    DBG_CMD(dev_info((t)->vhost->dev, "%llX: " fmt, (t)->scsi_id, ##__VA_ARGS__))

Definition at line 739 of file ibmvfc.h.

#define tgt_err (   t,
  fmt,
  ... 
)    dev_err((t)->vhost->dev, "%llX: " fmt, (t)->scsi_id, ##__VA_ARGS__)

Definition at line 745 of file ibmvfc.h.

#define tgt_info (   t,
  fmt,
  ... 
)    dev_info((t)->vhost->dev, "%llX: " fmt, (t)->scsi_id, ##__VA_ARGS__)

Definition at line 742 of file ibmvfc.h.

#define tgt_log (   t,
  level,
  fmt,
  ... 
)
Value:
do { \
if ((t)->vhost->log_level >= level) \
tgt_err(t, fmt, ##__VA_ARGS__); \
} while (0)

Definition at line 748 of file ibmvfc.h.

Enumeration Type Documentation

Enumerator:
IBMVFC_AE_LS_LINK_UP 
IBMVFC_AE_LS_LINK_BOUNCED 
IBMVFC_AE_LS_LINK_DOWN 
IBMVFC_AE_LS_LINK_DEAD 

Definition at line 563 of file ibmvfc.h.

Enumerator:
IBMVFC_AE_ELS_PLOGI 
IBMVFC_AE_ELS_LOGO 
IBMVFC_AE_ELS_PRLO 
IBMVFC_AE_SCN_NPORT 
IBMVFC_AE_SCN_GROUP 
IBMVFC_AE_SCN_DOMAIN 
IBMVFC_AE_SCN_FABRIC 
IBMVFC_AE_LINK_UP 
IBMVFC_AE_LINK_DOWN 
IBMVFC_AE_LINK_DEAD 
IBMVFC_AE_HALT 
IBMVFC_AE_RESUME 
IBMVFC_AE_ADAPTER_FAILED 

Definition at line 528 of file ibmvfc.h.

Enumerator:
IBMVFC_SCATTERLIST 
IBMVFC_NO_MEM_DESC 
IBMVFC_READ 
IBMVFC_WRITE 
IBMVFC_TMF 
IBMVFC_CLASS_3_ERR 

Definition at line 400 of file ibmvfc.h.

Enumerator:
IBMVFC_FABRIC_MAPPED 
IBMVFC_VIOS_FAILURE 
IBMVFC_FC_FAILURE 
IBMVFC_FC_SCSI_ERROR 
IBMVFC_HW_EVENT_LOGGED 
IBMVFC_VIOS_LOGGED 

Definition at line 86 of file ibmvfc.h.

Enumerator:
IBMVFC_CRQ_INIT 
IBMVFC_CRQ_INIT_COMPLETE 
IBMVFC_PARTITION_MIGRATED 

Definition at line 80 of file ibmvfc.h.

Enumerator:
IBMVFC_CMD_FORMAT 
IBMVFC_ASYNC_EVENT 
IBMVFC_MAD_FORMAT 

Definition at line 522 of file ibmvfc.h.

Enumerator:
IBMVFC_CRQ_CMD_RSP 
IBMVFC_CRQ_INIT_RSP 
IBMVFC_CRQ_XPORT_EVENT 

Definition at line 74 of file ibmvfc.h.

Enumerator:
IBMVFC_UNABLE_TO_ESTABLISH 
IBMVFC_XPORT_FAULT 
IBMVFC_CMD_TIMEOUT 
IBMVFC_ENETDOWN 
IBMVFC_HW_FAILURE 
IBMVFC_LINK_DOWN_ERR 
IBMVFC_LINK_DEAD_ERR 
IBMVFC_UNABLE_TO_REGISTER 
IBMVFC_XPORT_BUSY 
IBMVFC_XPORT_DEAD 
IBMVFC_CONFIG_ERROR 
IBMVFC_NAME_SERVER_FAIL 
IBMVFC_LINK_HALTED 
IBMVFC_XPORT_GENERAL 

Definition at line 95 of file ibmvfc.h.

Enumerator:
IBMVFC_INVALID_ELS_CMD_CODE 
IBMVFC_INVALID_VERSION 
IBMVFC_LOGICAL_ERROR 
IBMVFC_INVALID_CT_IU_SIZE 
IBMVFC_LOGICAL_BUSY 
IBMVFC_PROTOCOL_ERROR 
IBMVFC_UNABLE_TO_PERFORM_REQ 
IBMVFC_CMD_NOT_SUPPORTED 
IBMVFC_SERVER_NOT_AVAIL 
IBMVFC_CMD_IN_PROGRESS 
IBMVFC_VENDOR_SPECIFIC 

Definition at line 252 of file ibmvfc.h.

Enumerator:
IBMVFC_SIMPLE_TASK 
IBMVFC_HEAD_OF_QUEUE 
IBMVFC_ORDERED_TASK 
IBMVFC_ACA_TASK 

Definition at line 409 of file ibmvfc.h.

Enumerator:
IBMVFC_ABORT_TASK_SET 
IBMVFC_LUN_RESET 
IBMVFC_TARGET_RESET 

Definition at line 416 of file ibmvfc.h.

Enumerator:
IBMVFC_FABRIC_REJECT 
IBMVFC_PORT_REJECT 
IBMVFC_LS_REJECT 
IBMVFC_FABRIC_BUSY 
IBMVFC_PORT_BUSY 
IBMVFC_BASIC_REJECT 

Definition at line 266 of file ibmvfc.h.

Enumerator:
FCP_BIDI_RSP 
FCP_BIDI_READ_RESID_UNDER 
FCP_BIDI_READ_RESID_OVER 
FCP_CONF_REQ 
FCP_RESID_UNDER 
FCP_RESID_OVER 
FCP_SNS_LEN_VALID 
FCP_RSP_LEN_VALID 

Definition at line 373 of file ibmvfc.h.

Enumerator:
RSP_NO_FAILURE 
RSP_TMF_REJECTED 
RSP_TMF_FAILED 
RSP_TMF_INVALID_LUN 

Definition at line 360 of file ibmvfc.h.

Enumerator:
IBMVFC_PORT_NAME_NOT_REG 

Definition at line 275 of file ibmvfc.h.

Enumerator:
IBMVFC_HOST_ACTION_NONE 
IBMVFC_HOST_ACTION_RESET 
IBMVFC_HOST_ACTION_REENABLE 
IBMVFC_HOST_ACTION_LOGO 
IBMVFC_HOST_ACTION_LOGO_WAIT 
IBMVFC_HOST_ACTION_INIT 
IBMVFC_HOST_ACTION_INIT_WAIT 
IBMVFC_HOST_ACTION_QUERY 
IBMVFC_HOST_ACTION_QUERY_TGTS 
IBMVFC_HOST_ACTION_TGT_DEL 
IBMVFC_HOST_ACTION_ALLOC_TGTS 
IBMVFC_HOST_ACTION_TGT_INIT 
IBMVFC_HOST_ACTION_TGT_DEL_FAILED 

Definition at line 658 of file ibmvfc.h.

Enumerator:
IBMVFC_NO_CRQ 
IBMVFC_INITIALIZING 
IBMVFC_ACTIVE 
IBMVFC_HALTED 
IBMVFC_LINK_DOWN 
IBMVFC_LINK_DEAD 
IBMVFC_HOST_OFFLINE 

Definition at line 674 of file ibmvfc.h.

Enumerator:
IBMVFC_NPIV_LOGIN 
IBMVFC_DISC_TARGETS 
IBMVFC_PORT_LOGIN 
IBMVFC_PROCESS_LOGIN 
IBMVFC_QUERY_TARGET 
IBMVFC_IMPLICIT_LOGOUT 
IBMVFC_PASSTHRU 
IBMVFC_TMF_MAD 
IBMVFC_NPIV_LOGOUT 

Definition at line 125 of file ibmvfc.h.

Enumerator:
IBMVFC_TGT_ACTION_NONE 
IBMVFC_TGT_ACTION_INIT 
IBMVFC_TGT_ACTION_INIT_WAIT 
IBMVFC_TGT_ACTION_DEL_RPORT 
IBMVFC_TGT_ACTION_DELETED_RPORT 

Definition at line 602 of file ibmvfc.h.

Enumerator:
IBMVFC_CRQ_FAILURE 
IBMVFC_SW_FAILURE 
IBMVFC_INVALID_PARAMETER 
IBMVFC_MISSING_PARAMETER 
IBMVFC_HOST_IO_BUS 
IBMVFC_TRANS_CANCELLED 
IBMVFC_TRANS_CANCELLED_IMPLICIT 
IBMVFC_INSUFFICIENT_RESOURCE 
IBMVFC_PLOGI_REQUIRED 
IBMVFC_COMMAND_FAILED 

Definition at line 112 of file ibmvfc.h.

Function Documentation

Scatter-gather list for preada/pwritea calls.

< Client physical address of the buffer segment.

< Page table entry describing the caching and location override characteristics of the buffer segment. Some drivers ignore this element and will require that the NOCACHE flag be set on their requests.

< Length of the buffer segment.

Definition at line 1740 of file hypervisor.h.

Definition at line 171 of file esd_usb2.c.

Variable Documentation

u32 adapter_resid

Definition at line 461 of file ibmvfc.h.

u8 add_cdb_len

Definition at line 437 of file ibmvfc.h.

Definition at line 196 of file ibmvfc.h.

u16 b2b_credit

Definition at line 190 of file ibmvfc.h.

u16 bb_rcv_sz

Definition at line 192 of file ibmvfc.h.

u32 blksz

Definition at line 299 of file ibmvfc.h.

Definition at line 151 of file ibmvfc.h.

u32 bufflen

Definition at line 256 of file ibmvfc.h.

u32 cancel_key

Definition at line 368 of file ibmvfc.h.

Definition at line 193 of file ibmvfc.h.

Definition at line 440 of file ibmvfc.h.

u32 class1_parms[4]

Definition at line 207 of file ibmvfc.h.

u32 class2_parms[4]

Definition at line 208 of file ibmvfc.h.

u32 class3_parms[4]

Definition at line 209 of file ibmvfc.h.

u32 clk_sync_qos[2]

Definition at line 215 of file ibmvfc.h.

Definition at line 496 of file ibmvfc.h.

Definition at line 492 of file ibmvfc.h.

u32 cmd_len

Definition at line 485 of file ibmvfc.h.

Definition at line 150 of file ibmvfc.h.

u64 correlation

Definition at line 472 of file ibmvfc.h.

u8 crn

Definition at line 434 of file ibmvfc.h.

Definition at line 406 of file ibmvfc.h.

u8 device_name

Definition at line 198 of file ibmvfc.h.

struct ibmvfc_discover_targets discover_targets

Definition at line 604 of file ibmvfc.h.

u8 drc_name

Definition at line 199 of file ibmvfc.h.

u32 edtov

Definition at line 194 of file ibmvfc.h.

Definition at line 533 of file ibmvfc.h.

u16 error

Definition at line 231 of file ibmvfc.h.

volatile u64 event

Definition at line 585 of file ibmvfc.h.

Definition at line 521 of file ibmvfc.h.

u32 exchange_id

Definition at line 468 of file ibmvfc.h.

Definition at line 469 of file ibmvfc.h.

u32 ext_len

Definition at line 213 of file ibmvfc.h.

u16 fc_explain

Definition at line 303 of file ibmvfc.h.

Definition at line 494 of file ibmvfc.h.

u16 fc_service_class

Definition at line 298 of file ibmvfc.h.

u16 fc_type

Definition at line 304 of file ibmvfc.h.

u32 fcp_resid

Definition at line 403 of file ibmvfc.h.

u8 fcp_rsp_flags

Definition at line 506 of file ibmvfc.h.

u32 fcp_rsp_len

Definition at line 405 of file ibmvfc.h.

u32 fcp_sense_len

Definition at line 404 of file ibmvfc.h.

u16 fcp_version

Definition at line 188 of file ibmvfc.h.

u16 fcph_version

Definition at line 189 of file ibmvfc.h.

Definition at line 191 of file ibmvfc.h.

u32 flags

Definition at line 189 of file ibmvfc.h.

u8 fmt

Definition at line 525 of file ibmvfc.h.

volatile u8 format

Definition at line 557 of file ibmvfc.h.

u32 frame_type

Definition at line 458 of file ibmvfc.h.

u32 hdr_per_blk

Definition at line 300 of file ibmvfc.h.

struct ibmvfc_implicit_logout implicit_logout

Definition at line 608 of file ibmvfc.h.

Definition at line 388 of file ibmvfc.h.

volatile u64 ioba

Definition at line 470 of file ibmvfc.h.

Definition at line 476 of file ibmvfc.h.

u16 length

Definition at line 149 of file ibmvfc.h.

u64 link_speed

Definition at line 244 of file ibmvfc.h.

Definition at line 582 of file ibmvfc.h.

Definition at line 234 of file ibmvfc.h.

u32 lun

Definition at line 361 of file ibmvfc.h.

Definition at line 601 of file ibmvfc.h.

u32 max_cmds

Definition at line 192 of file ibmvfc.h.

u64 max_dma_len

Definition at line 183 of file ibmvfc.h.

u32 max_payload

Definition at line 184 of file ibmvfc.h.

u32 max_response

Definition at line 185 of file ibmvfc.h.

u32 my_cancel_key

Definition at line 369 of file ibmvfc.h.

u64 node_name

Definition at line 195 of file ibmvfc.h.

Definition at line 602 of file ibmvfc.h.

Definition at line 603 of file ibmvfc.h.

u32 num_avail

Definition at line 257 of file ibmvfc.h.

u32 num_written

Definition at line 258 of file ibmvfc.h.

u32 obsolete[4]

Definition at line 210 of file ibmvfc.h.

u64 old_scsi_id

Definition at line 344 of file ibmvfc.h.

u8 op_code

Definition at line 526 of file ibmvfc.h.

Definition at line 147 of file ibmvfc.h.

u32 orig_pa

Definition at line 322 of file ibmvfc.h.

u32 ostype

Definition at line 180 of file ibmvfc.h.

u8 pad[2]

Definition at line 182 of file ibmvfc.h.

u32 pad2

Definition at line 584 of file ibmvfc.h.

Definition at line 328 of file ibmvfc.h.

Definition at line 197 of file ibmvfc.h.

u32 partition_num

Definition at line 186 of file ibmvfc.h.

Definition at line 611 of file ibmvfc.h.

u32 payload_len

Definition at line 459 of file ibmvfc.h.

Definition at line 605 of file ibmvfc.h.

u8 port_loc_code[IBMVFC_MAX_NAME]

Definition at line 247 of file ibmvfc.h.

u64 port_name

Definition at line 205 of file ibmvfc.h.

u8 pri_task_attr

Definition at line 435 of file ibmvfc.h.

Definition at line 606 of file ibmvfc.h.

Definition at line 607 of file ibmvfc.h.

u32 ratov

Definition at line 193 of file ibmvfc.h.

u64 reserved

Definition at line 146 of file ibmvfc.h.

u64 reserved2[2]

Definition at line 200 of file ibmvfc.h.

u64 reserved3[2]

Definition at line 308 of file ibmvfc.h.

Definition at line 235 of file ibmvfc.h.

__le32 resp_len

Definition at line 460 of file ibmvfc.h.

u32 resp_pa

Definition at line 323 of file ibmvfc.h.

u16 response_flags

Definition at line 465 of file ibmvfc.h.

u16 retry_delay_timer

Definition at line 400 of file ibmvfc.h.

Definition at line 477 of file ibmvfc.h.

u8 rsp_code

Definition at line 373 of file ibmvfc.h.

u32 rsp_len

Definition at line 486 of file ibmvfc.h.

volatile u64 scsi_id

Definition at line 241 of file ibmvfc.h.

u32 scsi_id_sz

Definition at line 239 of file ibmvfc.h.

u8 scsi_status

Definition at line 402 of file ibmvfc.h.

Definition at line 389 of file ibmvfc.h.

u32 service_parms

Definition at line 249 of file ibmvfc.h.

struct ibmvfc_service_parms service_parms_change

Definition at line 307 of file ibmvfc.h.

u32 services_avail[2]

Definition at line 212 of file ibmvfc.h.

Definition at line 532 of file ibmvfc.h.

Definition at line 148 of file ibmvfc.h.

Definition at line 150 of file ibmvfc.h.

u64 task_tag

Definition at line 457 of file ibmvfc.h.

u64 tgt_scsi_id

Definition at line 473 of file ibmvfc.h.

u32 time

Definition at line 522 of file ibmvfc.h.

Definition at line 609 of file ibmvfc.h.

u8 tmf_flags

Definition at line 436 of file ibmvfc.h.

Definition at line 315 of file ibmvfc.h.

u8 type_ext

Definition at line 317 of file ibmvfc.h.

union { ... } u
volatile u8 valid

Definition at line 556 of file ibmvfc.h.

u32 vendor_version[4]

Definition at line 211 of file ibmvfc.h.

u32 version

Definition at line 145 of file ibmvfc.h.

u32 vfc_frame_version

Definition at line 187 of file ibmvfc.h.

volatile u64 wwpn

Definition at line 338 of file ibmvfc.h.

u32 xfer_len

Definition at line 441 of file ibmvfc.h.