📄 lpfc_hw.h
字号:
uint32_t update_flash:1; uint32_t update_ram:1; uint32_t method:1; uint32_t load_cmplt:1;#else /* __LITTLE_ENDIAN_BITFIELD */ uint32_t load_cmplt:1; uint32_t method:1; uint32_t update_ram:1; uint32_t update_flash:1; uint32_t erase_or_prog:1; uint32_t version:1; uint32_t acknowledgment:1; uint32_t rsvd2:25;#endif uint32_t dl_to_adr_low; uint32_t dl_to_adr_high; uint32_t dl_len; union { uint32_t dl_from_mbx_offset; struct ulp_bde dl_from_bde; struct ulp_bde64 dl_from_bde64; } un;} LOAD_SM_VAR;/* Structure for MB Command READ_NVPARM (02) */typedef struct { uint32_t rsvd1[3]; /* Read as all one's */ uint32_t rsvd2; /* Read as all zero's */ uint32_t portname[2]; /* N_PORT name */ uint32_t nodename[2]; /* NODE name */#ifdef __BIG_ENDIAN_BITFIELD uint32_t pref_DID:24; uint32_t hardAL_PA:8;#else /* __LITTLE_ENDIAN_BITFIELD */ uint32_t hardAL_PA:8; uint32_t pref_DID:24;#endif uint32_t rsvd3[21]; /* Read as all one's */} READ_NV_VAR;/* Structure for MB Command WRITE_NVPARMS (03) */typedef struct { uint32_t rsvd1[3]; /* Must be all one's */ uint32_t rsvd2; /* Must be all zero's */ uint32_t portname[2]; /* N_PORT name */ uint32_t nodename[2]; /* NODE name */#ifdef __BIG_ENDIAN_BITFIELD uint32_t pref_DID:24; uint32_t hardAL_PA:8;#else /* __LITTLE_ENDIAN_BITFIELD */ uint32_t hardAL_PA:8; uint32_t pref_DID:24;#endif uint32_t rsvd3[21]; /* Must be all one's */} WRITE_NV_VAR;/* Structure for MB Command RUN_BIU_DIAG (04) *//* Structure for MB Command RUN_BIU_DIAG64 (0x84) */typedef struct { uint32_t rsvd1; union { struct { struct ulp_bde xmit_bde; struct ulp_bde rcv_bde; } s1; struct { struct ulp_bde64 xmit_bde64; struct ulp_bde64 rcv_bde64; } s2; } un;} BIU_DIAG_VAR;/* Structure for MB Command INIT_LINK (05) */typedef struct {#ifdef __BIG_ENDIAN_BITFIELD uint32_t rsvd1:24; uint32_t lipsr_AL_PA:8; /* AL_PA to issue Lip Selective Reset to */#else /* __LITTLE_ENDIAN_BITFIELD */ uint32_t lipsr_AL_PA:8; /* AL_PA to issue Lip Selective Reset to */ uint32_t rsvd1:24;#endif#ifdef __BIG_ENDIAN_BITFIELD uint8_t fabric_AL_PA; /* If using a Fabric Assigned AL_PA */ uint8_t rsvd2; uint16_t link_flags;#else /* __LITTLE_ENDIAN_BITFIELD */ uint16_t link_flags; uint8_t rsvd2; uint8_t fabric_AL_PA; /* If using a Fabric Assigned AL_PA */#endif#define FLAGS_LOCAL_LB 0x01 /* link_flags (=1) ENDEC loopback */#define FLAGS_TOPOLOGY_MODE_LOOP_PT 0x00 /* Attempt loop then pt-pt */#define FLAGS_TOPOLOGY_MODE_PT_PT 0x02 /* Attempt pt-pt only */#define FLAGS_TOPOLOGY_MODE_LOOP 0x04 /* Attempt loop only */#define FLAGS_TOPOLOGY_MODE_PT_LOOP 0x06 /* Attempt pt-pt then loop */#define FLAGS_LIRP_LILP 0x80 /* LIRP / LILP is disabled */#define FLAGS_TOPOLOGY_FAILOVER 0x0400 /* Bit 10 */#define FLAGS_LINK_SPEED 0x0800 /* Bit 11 */ uint32_t link_speed;#define LINK_SPEED_AUTO 0 /* Auto selection */#define LINK_SPEED_1G 1 /* 1 Gigabaud */#define LINK_SPEED_2G 2 /* 2 Gigabaud */#define LINK_SPEED_4G 4 /* 4 Gigabaud */#define LINK_SPEED_8G 8 /* 4 Gigabaud */#define LINK_SPEED_10G 16 /* 10 Gigabaud */} INIT_LINK_VAR;/* Structure for MB Command DOWN_LINK (06) */typedef struct { uint32_t rsvd1;} DOWN_LINK_VAR;/* Structure for MB Command CONFIG_LINK (07) */typedef struct {#ifdef __BIG_ENDIAN_BITFIELD uint32_t cr:1; uint32_t ci:1; uint32_t cr_delay:6; uint32_t cr_count:8; uint32_t rsvd1:8; uint32_t MaxBBC:8;#else /* __LITTLE_ENDIAN_BITFIELD */ uint32_t MaxBBC:8; uint32_t rsvd1:8; uint32_t cr_count:8; uint32_t cr_delay:6; uint32_t ci:1; uint32_t cr:1;#endif uint32_t myId; uint32_t rsvd2; uint32_t edtov; uint32_t arbtov; uint32_t ratov; uint32_t rttov; uint32_t altov; uint32_t crtov; uint32_t citov;#ifdef __BIG_ENDIAN_BITFIELD uint32_t rrq_enable:1; uint32_t rrq_immed:1; uint32_t rsvd4:29; uint32_t ack0_enable:1;#else /* __LITTLE_ENDIAN_BITFIELD */ uint32_t ack0_enable:1; uint32_t rsvd4:29; uint32_t rrq_immed:1; uint32_t rrq_enable:1;#endif} CONFIG_LINK;/* Structure for MB Command PART_SLIM (08) * will be removed since SLI1 is no longer supported! */typedef struct {#ifdef __BIG_ENDIAN_BITFIELD uint16_t offCiocb; uint16_t numCiocb; uint16_t offRiocb; uint16_t numRiocb;#else /* __LITTLE_ENDIAN_BITFIELD */ uint16_t numCiocb; uint16_t offCiocb; uint16_t numRiocb; uint16_t offRiocb;#endif} RING_DEF;typedef struct {#ifdef __BIG_ENDIAN_BITFIELD uint32_t unused1:24; uint32_t numRing:8;#else /* __LITTLE_ENDIAN_BITFIELD */ uint32_t numRing:8; uint32_t unused1:24;#endif RING_DEF ringdef[4]; uint32_t hbainit;} PART_SLIM_VAR;/* Structure for MB Command CONFIG_RING (09) */typedef struct {#ifdef __BIG_ENDIAN_BITFIELD uint32_t unused2:6; uint32_t recvSeq:1; uint32_t recvNotify:1; uint32_t numMask:8; uint32_t profile:8; uint32_t unused1:4; uint32_t ring:4;#else /* __LITTLE_ENDIAN_BITFIELD */ uint32_t ring:4; uint32_t unused1:4; uint32_t profile:8; uint32_t numMask:8; uint32_t recvNotify:1; uint32_t recvSeq:1; uint32_t unused2:6;#endif#ifdef __BIG_ENDIAN_BITFIELD uint16_t maxRespXchg; uint16_t maxOrigXchg;#else /* __LITTLE_ENDIAN_BITFIELD */ uint16_t maxOrigXchg; uint16_t maxRespXchg;#endif RR_REG rrRegs[6];} CONFIG_RING_VAR;/* Structure for MB Command RESET_RING (10) */typedef struct { uint32_t ring_no;} RESET_RING_VAR;/* Structure for MB Command READ_CONFIG (11) */typedef struct {#ifdef __BIG_ENDIAN_BITFIELD uint32_t cr:1; uint32_t ci:1; uint32_t cr_delay:6; uint32_t cr_count:8; uint32_t InitBBC:8; uint32_t MaxBBC:8;#else /* __LITTLE_ENDIAN_BITFIELD */ uint32_t MaxBBC:8; uint32_t InitBBC:8; uint32_t cr_count:8; uint32_t cr_delay:6; uint32_t ci:1; uint32_t cr:1;#endif#ifdef __BIG_ENDIAN_BITFIELD uint32_t topology:8; uint32_t myDid:24;#else /* __LITTLE_ENDIAN_BITFIELD */ uint32_t myDid:24; uint32_t topology:8;#endif /* Defines for topology (defined previously) */#ifdef __BIG_ENDIAN_BITFIELD uint32_t AR:1; uint32_t IR:1; uint32_t rsvd1:29; uint32_t ack0:1;#else /* __LITTLE_ENDIAN_BITFIELD */ uint32_t ack0:1; uint32_t rsvd1:29; uint32_t IR:1; uint32_t AR:1;#endif uint32_t edtov; uint32_t arbtov; uint32_t ratov; uint32_t rttov; uint32_t altov; uint32_t lmt;#define LMT_RESERVED 0x0 /* Not used */#define LMT_266_10bit 0x1 /* 265.625 Mbaud 10 bit iface */#define LMT_532_10bit 0x2 /* 531.25 Mbaud 10 bit iface */#define LMT_1063_20bit 0x3 /* 1062.5 Mbaud 20 bit iface */#define LMT_1063_10bit 0x4 /* 1062.5 Mbaud 10 bit iface */#define LMT_2125_10bit 0x8 /* 2125 Mbaud 10 bit iface */#define LMT_4250_10bit 0x40 /* 4250 Mbaud 10 bit iface */ uint32_t rsvd2; uint32_t rsvd3; uint32_t max_xri; uint32_t max_iocb; uint32_t max_rpi; uint32_t avail_xri; uint32_t avail_iocb; uint32_t avail_rpi; uint32_t default_rpi;} READ_CONFIG_VAR;/* Structure for MB Command READ_RCONFIG (12) */typedef struct {#ifdef __BIG_ENDIAN_BITFIELD uint32_t rsvd2:7; uint32_t recvNotify:1; uint32_t numMask:8; uint32_t profile:8; uint32_t rsvd1:4; uint32_t ring:4;#else /* __LITTLE_ENDIAN_BITFIELD */ uint32_t ring:4; uint32_t rsvd1:4; uint32_t profile:8; uint32_t numMask:8; uint32_t recvNotify:1; uint32_t rsvd2:7;#endif#ifdef __BIG_ENDIAN_BITFIELD uint16_t maxResp; uint16_t maxOrig;#else /* __LITTLE_ENDIAN_BITFIELD */ uint16_t maxOrig; uint16_t maxResp;#endif RR_REG rrRegs[6];#ifdef __BIG_ENDIAN_BITFIELD uint16_t cmdRingOffset; uint16_t cmdEntryCnt; uint16_t rspRingOffset; uint16_t rspEntryCnt; uint16_t nextCmdOffset; uint16_t rsvd3; uint16_t nextRspOffset; uint16_t rsvd4;#else /* __LITTLE_ENDIAN_BITFIELD */ uint16_t cmdEntryCnt; uint16_t cmdRingOffset; uint16_t rspEntryCnt; uint16_t rspRingOffset; uint16_t rsvd3; uint16_t nextCmdOffset; uint16_t rsvd4; uint16_t nextRspOffset;#endif} READ_RCONF_VAR;/* Structure for MB Command READ_SPARM (13) *//* Structure for MB Command READ_SPARM64 (0x8D) */typedef struct { uint32_t rsvd1; uint32_t rsvd2; union { struct ulp_bde sp; /* This BDE points to struct serv_parm structure */ struct ulp_bde64 sp64; } un;} READ_SPARM_VAR;/* Structure for MB Command READ_STATUS (14) */typedef struct {#ifdef __BIG_ENDIAN_BITFIELD uint32_t rsvd1:31; uint32_t clrCounters:1; uint16_t activeXriCnt; uint16_t activeRpiCnt;#else /* __LITTLE_ENDIAN_BITFIELD */ uint32_t clrCounters:1; uint32_t rsvd1:31; uint16_t activeRpiCnt; uint16_t activeXriCnt;#endif uint32_t xmitByteCnt; uint32_t rcvByteCnt; uint32_t xmitFrameCnt; uint32_t rcvFrameCnt; uint32_t xmitSeqCnt; uint32_t rcvSeqCnt; uint32_t totalOrigExchanges; uint32_t totalRespExchanges; uint32_t rcvPbsyCnt; uint32_t rcvFbsyCnt;} READ_STATUS_VAR;/* Structure for MB Command READ_RPI (15) *//* Structure for MB Command READ_RPI64 (0x8F) */typedef struct {#ifdef __BIG_ENDIAN_BITFIELD uint16_t nextRpi; uint16_t reqRpi; uint32_t rsvd2:8; uint32_t DID:24;#else /* __LITTLE_ENDIAN_BITFIELD */ uint16_t reqRpi; uint16_t nextRpi; uint32_t DID:24; uint32_t rsvd2:8;#endif union { struct ulp_bde sp; struct ulp_bde64 sp64; } un;} READ_RPI_VAR;/* Structure for MB Command READ_XRI (16) */typedef struct {#ifdef __BIG_ENDIAN_BITFIELD uint16_t nextXri; uint16_t reqXri; uint16_t rsvd1; uint16_t rpi; uint32_t rsvd2:8; uint32_t DID:24; uint32_t rsvd3:8; uint32_t SID:24; uint32_t rsvd4; uint8_t seqId; uint8_t rsvd5; uint16_t seqCount; uint16_t oxId; uint16_t rxId; uint32_t rsvd6:30; uint32_t si:1; uint32_t exchOrig:1;#else /* __LITTLE_ENDIAN_BITFIELD */ uint16_t reqXri; uint16_t nextXri; uint16_t rpi; uint16_t rsvd1; uint32_t DID:24; uint32_t rsvd2:8; uint32_t SID:24; uint32_t rsvd3:8; uint32_t rsvd4; uint16_t seqCount; uint8_t rsvd5; uint8_t seqId; uint16_t rxId; uint16_t oxId; uint32_t exchOrig:1; uint32_t si:1; uint32_t rsvd6:30;#endif} READ_XRI_VAR;/* Structure for MB Command READ_REV (17) */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -