Linux Kernel
3.7.1
|
#include <scsi/scsi_host.h>
Go to the source code of this file.
Data Structures | |
struct | lpfc_dmabuf |
struct | lpfc_dma_pool |
struct | hbq_dmabuf |
struct | lpfc_vpd |
struct | lpfc_stats |
struct | lpfc_vport |
struct | hbq_s |
struct | unsol_rcv_ct_ctx |
struct | lpfc_mbox_ext_buf_ctx |
struct | lpfc_hba |
Macros | |
#define | ELX_MODEL_NAME_SIZE 80 |
#define | LPFC_PCI_DEV_LP 0x1 |
#define | LPFC_PCI_DEV_OC 0x2 |
#define | LPFC_SLI_REV2 2 |
#define | LPFC_SLI_REV3 3 |
#define | LPFC_SLI_REV4 4 |
#define | LPFC_MAX_TARGET 4096 /* max number of targets supported */ |
#define | LPFC_MAX_DISC_THREADS |
#define | LPFC_MAX_NS_RETRY |
#define | LPFC_CMD_PER_LUN 3 /* max outstanding cmds per lun */ |
#define | LPFC_DEFAULT_SG_SEG_CNT 64 /* sg element count per scsi cmnd */ |
#define | LPFC_DEFAULT_MENLO_SG_SEG_CNT |
#define | LPFC_DEFAULT_PROT_SG_SEG_CNT 4096 /* sg protection elements count */ |
#define | LPFC_MAX_SG_SEG_CNT 4096 /* sg element count per scsi cmnd */ |
#define | LPFC_MAX_SGE_SIZE 0x80000000 /* Maximum data allowed in a SGE */ |
#define | LPFC_MAX_PROT_SG_SEG_CNT 4096 /* prot sg element count per scsi cmd*/ |
#define | LPFC_IOCB_LIST_CNT 2250 /* list of IOCBs for fast-path usage. */ |
#define | LPFC_Q_RAMP_UP_INTERVAL 120 /* lun q_depth ramp up interval */ |
#define | LPFC_VNAME_LEN 100 /* vport symbolic name length */ |
#define | LPFC_TGTQ_INTERVAL |
#define | LPFC_TGTQ_RAMPUP_PCENT 5 /* Target queue rampup in percentage */ |
#define | LPFC_MIN_TGT_QDEPTH 10 |
#define | LPFC_MAX_TGT_QDEPTH 0xFFFF |
#define | LPFC_MAX_BUCKET_COUNT |
#define | QUEUE_RAMP_DOWN_INTERVAL (1 * HZ) /* 1 Second */ |
#define | QUEUE_RAMP_UP_INTERVAL (300 * HZ) /* 5 minutes */ |
#define | LPFC_DISC_IOCB_BUFF_COUNT 20 |
#define | LPFC_HB_MBOX_INTERVAL 5 /* Heart beat interval in seconds. */ |
#define | LPFC_HB_MBOX_TIMEOUT 30 /* Heart beat timeout in seconds. */ |
#define | LPFC_LOOK_AHEAD_OFF 0 /* Look ahead logic is turned off */ |
#define | LPFC_ERATT_POLL_INTERVAL 5 /* EATT poll interval in seconds */ |
#define | putPaddrLow(addr) ((uint32_t) (0xffffffff & (u64)(addr))) |
#define | putPaddrHigh(addr) ((uint32_t) (0xffffffff & (((u64)(addr))>>32))) |
#define | getPaddr(high, low) |
#define | LPFC_DRVR_TIMEOUT 16 /* driver iocb timeout value in sec */ |
#define | FC_MAX_ADPTMSG 64 |
#define | MAX_HBAEVT 32 |
#define | LPFC_MSIX_VECTORS 2 |
#define | LPFC_DATA_READY (1<<0) |
#define | LPFC_LBUF_SZ 128 |
#define | LPFC_MBX_NO_WAIT 0 |
#define | LPFC_MBX_WAIT 1 |
#define | MEM_PRI 0x100 |
#define | LPFC_PHYSICAL_PORT 1 |
#define | LPFC_NPIV_PORT 2 |
#define | LPFC_FABRIC_PORT 3 |
#define | LPFC_VPI_REGISTERED 0x1 |
#define | FC_PT2PT 0x1 /* pt2pt with no fabric */ |
#define | FC_PT2PT_PLOGI 0x2 /* pt2pt initiate PLOGI */ |
#define | FC_DISC_TMO 0x4 /* Discovery timer running */ |
#define | FC_PUBLIC_LOOP 0x8 /* Public loop */ |
#define | FC_LBIT 0x10 /* LOGIN bit in loopinit set */ |
#define | FC_RSCN_MODE 0x20 /* RSCN cmd rcv'ed */ |
#define | FC_NLP_MORE 0x40 /* More node to process in node tbl */ |
#define | FC_OFFLINE_MODE 0x80 /* Interface is offline for diag */ |
#define | FC_FABRIC 0x100 /* We are fabric attached */ |
#define | FC_VPORT_LOGO_RCVD 0x200 /* LOGO received on vport */ |
#define | FC_RSCN_DISCOVERY 0x400 /* Auth all devices after RSCN */ |
#define | FC_LOGO_RCVD_DID_CHNG 0x800 /* FDISC on phys port detect DID chng*/ |
#define | FC_SCSI_SCAN_TMO 0x4000 /* scsi scan timer running */ |
#define | FC_ABORT_DISCOVERY 0x8000 /* we want to abort discovery */ |
#define | FC_NDISC_ACTIVE 0x10000 /* NPort discovery active */ |
#define | FC_BYPASSED_MODE 0x20000 /* NPort is in bypassed mode */ |
#define | FC_VPORT_NEEDS_REG_VPI 0x80000 /* Needs to have its vpi registered */ |
#define | FC_RSCN_DEFERRED 0x100000 /* A deferred RSCN being processed */ |
#define | FC_VPORT_NEEDS_INIT_VPI 0x200000 /* Need to INIT_VPI before FDISC */ |
#define | FC_VPORT_CVL_RCVD 0x400000 /* VLink failed due to CVL */ |
#define | FC_VFI_REGISTERED 0x800000 /* VFI is registered */ |
#define | FC_FDISC_COMPLETED 0x1000000/* FDISC completed */ |
#define | FC_DISC_DELAYED 0x2000000/* Delay NPort discovery */ |
#define | FC_CT_RFF_ID 0x1 /* RFF_ID accepted by switch */ |
#define | FC_CT_RNN_ID 0x2 /* RNN_ID accepted by switch */ |
#define | FC_CT_RSNN_NN 0x4 /* RSNN_NN accepted by switch */ |
#define | FC_CT_RSPN_ID 0x8 /* RSPN_ID accepted by switch */ |
#define | FC_CT_RFT_ID 0x10 /* RFT_ID accepted by switch */ |
#define | WORKER_DISC_TMO 0x1 /* vport: Discovery timeout */ |
#define | WORKER_ELS_TMO 0x2 /* vport: ELS timeout */ |
#define | WORKER_FDMI_TMO 0x4 /* vport: FDMI timeout */ |
#define | WORKER_DELAYED_DISC_TMO 0x8 /* vport: delayed discovery */ |
#define | WORKER_MBOX_TMO 0x100 /* hba: MBOX timeout */ |
#define | WORKER_HB_TMO 0x200 /* hba: Heart beat timeout */ |
#define | WORKER_FABRIC_BLOCK_TMO 0x400 /* hba: fabric block timeout */ |
#define | WORKER_RAMP_DOWN_QUEUE 0x800 /* hba: Decrease Q depth */ |
#define | WORKER_RAMP_UP_QUEUE 0x1000 /* hba: Increase Q depth */ |
#define | WORKER_SERVICE_TXQ 0x2000 /* hba: IOCBs on the txq */ |
#define | FC_LOADING 0x1 /* HBA in process of loading drvr */ |
#define | FC_UNLOADING 0x2 /* HBA in process of unloading drvr */ |
#define | STATIC_VPORT 1 |
#define | LPFC_MAX_HBQS 4 |
#define | LPFC_ELS_HBQ 0 |
#define | LPFC_EXTRA_HBQ 1 |
#define | UNSOL_VALID 0x00000001 |
#define | LPFC_USER_LINK_SPEED_AUTO 0 /* auto select (default)*/ |
#define | LPFC_USER_LINK_SPEED_1G 1 /* 1 Gigabaud */ |
#define | LPFC_USER_LINK_SPEED_2G 2 /* 2 Gigabaud */ |
#define | LPFC_USER_LINK_SPEED_4G 4 /* 4 Gigabaud */ |
#define | LPFC_USER_LINK_SPEED_8G 8 /* 8 Gigabaud */ |
#define | LPFC_USER_LINK_SPEED_10G 10 /* 10 Gigabaud */ |
#define | LPFC_USER_LINK_SPEED_16G 16 /* 16 Gigabaud */ |
#define | LPFC_USER_LINK_SPEED_MAX LPFC_USER_LINK_SPEED_16G |
#define | LPFC_USER_LINK_SPEED_BITMAP |
#define | LPFC_LINK_SPEED_STRING "0, 1, 2, 4, 8, 10, 16" |
#define | LPFC_BSG_MBOX_IDLE 0 |
#define | LPFC_BSG_MBOX_HOST 1 |
#define | LPFC_BSG_MBOX_PORT 2 |
#define | LPFC_BSG_MBOX_DONE 3 |
#define | LPFC_BSG_MBOX_ABTS 4 |
#define | LPFC_SLI3_HBQ_ENABLED 0x01 |
#define | LPFC_SLI3_NPIV_ENABLED 0x02 |
#define | LPFC_SLI3_VPORT_TEARDOWN 0x04 |
#define | LPFC_SLI3_CRP_ENABLED 0x08 |
#define | LPFC_SLI3_BG_ENABLED 0x20 |
#define | LPFC_SLI3_DSS_ENABLED 0x40 |
#define | LPFC_SLI4_PERFH_ENABLED 0x80 |
#define | LPFC_SLI4_PHWQ_ENABLED 0x100 |
#define | LS_LOOPBACK_MODE 0x1 /* NPort is in Loopback mode */ |
#define | LS_NPIV_FAB_SUPPORTED 0x2 /* Fabric supports NPIV */ |
#define | LS_IGNORE_ERATT 0x4 /* intr handler should ignore ERATT */ |
#define | HBA_ERATT_HANDLED 0x1 /* This flag is set when eratt handled */ |
#define | DEFER_ERATT 0x2 /* Deferred error attention in progress */ |
#define | HBA_FCOE_MODE 0x4 /* HBA function in FCoE Mode */ |
#define | HBA_SP_QUEUE_EVT 0x8 /* Slow-path qevt posted to worker thread*/ |
#define | HBA_POST_RECEIVE_BUFFER 0x10 /* Rcv buffers need to be posted */ |
#define | FCP_XRI_ABORT_EVENT 0x20 |
#define | ELS_XRI_ABORT_EVENT 0x40 |
#define | ASYNC_EVENT 0x80 |
#define | LINK_DISABLED 0x100 /* Link disabled by user */ |
#define | FCF_TS_INPROG 0x200 /* FCF table scan in progress */ |
#define | FCF_RR_INPROG 0x400 /* FCF roundrobin flogi in progress */ |
#define | HBA_FIP_SUPPORT 0x800 /* FIP support in HBA */ |
#define | HBA_AER_ENABLED 0x1000 /* AER enabled with HBA */ |
#define | HBA_DEVLOSS_TMO 0x2000 /* HBA in devloss timeout */ |
#define | HBA_RRQ_ACTIVE 0x4000 /* process the rrq active list */ |
#define | HBA_FCP_IOQ_FLUSH 0x8000 /* FCP I/O queues being flushed */ |
#define | LPFC_FCF_FOV 1 /* Fast fcf failover */ |
#define | LPFC_FCF_PRIORITY 2 /* Priority fcf failover */ |
#define | LPFC_INITIALIZE_LINK 0 /* do normal init_link mbox */ |
#define | LPFC_DELAY_INIT_LINK 1 /* layered driver hold off */ |
#define | LPFC_DELAY_INIT_LINK_INDEFINITELY 2 /* wait, manual intervention */ |
#define | VPD_MODEL_DESC 0x1 /* valid vpd model description */ |
#define | VPD_MODEL_NAME 0x2 /* valid vpd model name */ |
#define | VPD_PROGRAM_TYPE 0x4 /* valid vpd program type */ |
#define | VPD_PORT 0x8 /* valid vpd port data */ |
#define | VPD_MASK 0xf /* mask for any vpd data */ |
#define | LPFC_INTR_ERROR 0xFFFFFFFF |
#define | LPFC_MAX_VPI 0xFFFF /* Max number of VPI supported */ |
#define | FABRIC_COMANDS_BLOCKED 0 |
#define | QUE_BUFTAG_BIT (1<<31) |
#define | LPFC_NO_BUCKET 0 |
#define | LPFC_LINEAR_BUCKET 1 |
#define | LPFC_POWER2_BUCKET 2 |
#define | LPFC_MAX_EVT_COUNT 512 |
#define | HBA_MENLO_SUPPORT 0x1 /* HBA supports menlo commands */ |
Typedefs | |
typedef struct lpfc_vpd | lpfc_vpd_t |
Enumerations | |
enum | lpfc_polling_flags { ENABLE_FCP_RING_POLLING = 0x1, DISABLE_FCP_RING_INT = 0x2 } |
enum | discovery_state { LPFC_VPORT_UNKNOWN = 0, LPFC_VPORT_FAILED = 1, LPFC_LOCAL_CFG_LINK = 6, LPFC_FLOGI = 7, LPFC_FDISC = 8, LPFC_FABRIC_CFG_LINK = 9, LPFC_NS_REG = 10, LPFC_NS_QRY = 11, LPFC_BUILD_DISC_LIST = 12, LPFC_DISC_AUTH = 13, LPFC_VPORT_READY = 32 } |
enum | hba_state { LPFC_LINK_UNKNOWN = 0, LPFC_WARM_START = 1, LPFC_INIT_START = 2, LPFC_INIT_MBX_CMDS = 3, LPFC_LINK_DOWN = 4, LPFC_LINK_UP = 5, LPFC_CLEAR_LA = 6, LPFC_HBA_READY = 32, LPFC_HBA_ERROR = -1 } |
enum | hba_temp_state { HBA_NORMAL_TEMP, HBA_OVER_TEMP } |
enum | intr_type_t { NONE = 0, INTx, MSI, MSIX } |
enum | nemb_type { nemb_mse = 1, nemb_hbd } |
enum | mbox_type { mbox_rd = 1, mbox_wr } |
enum | dma_type { dma_mbox = 1, dma_ebuf } |
enum | sta_type { sta_pre_addr = 1, sta_pos_addr } |
#define DEFER_ERATT 0x2 /* Deferred error attention in progress */ |
#define FC_ABORT_DISCOVERY 0x8000 /* we want to abort discovery */ |
#define FC_BYPASSED_MODE 0x20000 /* NPort is in bypassed mode */ |
#define FC_LOGO_RCVD_DID_CHNG 0x800 /* FDISC on phys port detect DID chng*/ |
#define FC_NLP_MORE 0x40 /* More node to process in node tbl */ |
#define FC_OFFLINE_MODE 0x80 /* Interface is offline for diag */ |
#define FC_RSCN_DEFERRED 0x100000 /* A deferred RSCN being processed */ |
#define FC_RSCN_DISCOVERY 0x400 /* Auth all devices after RSCN */ |
#define FC_SCSI_SCAN_TMO 0x4000 /* scsi scan timer running */ |
#define FC_UNLOADING 0x2 /* HBA in process of unloading drvr */ |
#define FC_VPORT_CVL_RCVD 0x400000 /* VLink failed due to CVL */ |
#define FC_VPORT_LOGO_RCVD 0x200 /* LOGO received on vport */ |
#define FC_VPORT_NEEDS_INIT_VPI 0x200000 /* Need to INIT_VPI before FDISC */ |
#define FC_VPORT_NEEDS_REG_VPI 0x80000 /* Needs to have its vpi registered */ |
#define FCF_RR_INPROG 0x400 /* FCF roundrobin flogi in progress */ |
#define HBA_ERATT_HANDLED 0x1 /* This flag is set when eratt handled */ |
#define HBA_FCP_IOQ_FLUSH 0x8000 /* FCP I/O queues being flushed */ |
#define HBA_MENLO_SUPPORT 0x1 /* HBA supports menlo commands */ |
#define HBA_POST_RECEIVE_BUFFER 0x10 /* Rcv buffers need to be posted */ |
#define HBA_RRQ_ACTIVE 0x4000 /* process the rrq active list */ |
#define HBA_SP_QUEUE_EVT 0x8 /* Slow-path qevt posted to worker thread*/ |
#define LPFC_DEFAULT_MENLO_SG_SEG_CNT |
#define LPFC_DELAY_INIT_LINK_INDEFINITELY 2 /* wait, manual intervention */ |
#define LPFC_INITIALIZE_LINK 0 /* do normal init_link mbox */ |
#define LPFC_LOOK_AHEAD_OFF 0 /* Look ahead logic is turned off */ |
#define LPFC_MAX_BUCKET_COUNT |
#define LPFC_MAX_DISC_THREADS |
#define LPFC_MAX_NS_RETRY |
#define LPFC_MAX_SGE_SIZE 0x80000000 /* Maximum data allowed in a SGE */ |
#define LPFC_MAX_VPI 0xFFFF /* Max number of VPI supported */ |
#define LPFC_TGTQ_INTERVAL |
#define LPFC_USER_LINK_SPEED_AUTO 0 /* auto select (default)*/ |
#define LPFC_USER_LINK_SPEED_BITMAP |
#define LPFC_USER_LINK_SPEED_MAX LPFC_USER_LINK_SPEED_16G |
#define LS_IGNORE_ERATT 0x4 /* intr handler should ignore ERATT */ |
#define WORKER_DELAYED_DISC_TMO 0x8 /* vport: delayed discovery */ |
#define WORKER_FABRIC_BLOCK_TMO 0x400 /* hba: fabric block timeout */ |
#define WORKER_RAMP_DOWN_QUEUE 0x800 /* hba: Decrease Q depth */ |
#define WORKER_RAMP_UP_QUEUE 0x1000 /* hba: Increase Q depth */ |
#define WORKER_SERVICE_TXQ 0x2000 /* hba: IOCBs on the txq */ |
typedef struct lpfc_vpd lpfc_vpd_t |
enum discovery_state |
enum hba_state |
enum hba_temp_state |
enum intr_type_t |
enum lpfc_polling_flags |