Lines Matching +full:max +full:- +full:bits +full:- +full:per +full:- +full:word

4  * Copyright (C) 2017-2021 Broadcom. All Rights Reserved. The term *
6 * Copyright (C) 2004-2016 Emulex. All rights reserved. *
16 * FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT, ARE *
50 #define SLI2_IOCB_CMD_R0_ENTRIES 172 /* SLI-2 FCP command ring entries */
51 #define SLI2_IOCB_RSP_R0_ENTRIES 134 /* SLI-2 FCP response ring entries */
52 #define SLI2_IOCB_CMD_R1_ENTRIES 4 /* SLI-2 extra command ring entries */
53 #define SLI2_IOCB_RSP_R1_ENTRIES 4 /* SLI-2 extra response ring entries */
54 #define SLI2_IOCB_CMD_R1XTRA_ENTRIES 36 /* SLI-2 extra FCP cmd ring entries */
55 #define SLI2_IOCB_RSP_R1XTRA_ENTRIES 52 /* SLI-2 extra FCP rsp ring entries */
56 #define SLI2_IOCB_CMD_R2_ENTRIES 20 /* SLI-2 ELS command ring entries */
57 #define SLI2_IOCB_RSP_R2_ENTRIES 20 /* SLI-2 ELS response ring entries */
82 } bits; member
83 uint32_t word; member
91 } bits; member
92 uint32_t word; member
95 /* FC4 Feature bits for RFF_ID */
333 #define FC_PH_4_0 6 /* FC-PH version 4.0 */
334 #define FC_PH_4_1 7 /* FC-PH version 4.1 */
335 #define FC_PH_4_2 8 /* FC-PH version 4.2 */
336 #define FC_PH_4_3 9 /* FC-PH version 4.3 */
338 #define FC_PH_LOW 8 /* Lowest supported FC-PH version */
339 #define FC_PH_HIGH 9 /* Highest supported FC-PH version */
340 #define FC_PH3 0x20 /* FC-PH-3 version */
348 uint8_t nameType:4; /* FC Word 0, bit 28:31 */
349 uint8_t IEEEextMsn:4; /* FC Word 0, bit 24:27, bit
352 uint8_t IEEEextMsn:4; /* FC Word 0, bit 24:27, bit
354 uint8_t nameType:4; /* FC Word 0, bit 28:31 */
357 #define NAME_IEEE 0x1 /* IEEE name - nameType */
363 uint8_t IEEEextLsb; /* FC Word 0, bit 16:23, IEEE
373 uint8_t fcphHigh; /* FC Word 0, byte 0 */
376 uint8_t bbCreditLsb; /* FC Word 0, byte 3 */
379 * Word 1 Bit 31 in common service parameter is overloaded.
380 * Word 1 Bit 31 in FLOGI request is multiple NPort request
381 * Word 1 Bit 31 in FLOGI response is clean address bit
383 #define clean_address_bit request_multiple_Nport /* Word 1, bit 31 */
385 * Word 1 Bit 30 in common service parameter is overloaded.
386 * Word 1 Bit 30 in FLOGI request is Virtual Fabrics
387 * Word 1 Bit 30 in PLOGI request is random offset
389 #define virtual_fabric_support randomOffset /* Word 1, bit 30 */
391 * Word 1 Bit 29 in common service parameter is overloaded.
392 * Word 1 Bit 29 in FLOGI response is multiple NPort assignment
393 * Word 1 Bit 29 in FLOGI/PLOGI request is Valid Vendor Version Level
395 #define valid_vendor_ver_level response_multiple_NPort /* Word 1, bit 29 */
397 uint16_t request_multiple_Nport:1; /* FC Word 1, bit 31 */
398 uint16_t randomOffset:1; /* FC Word 1, bit 30 */
399 uint16_t response_multiple_NPort:1; /* FC Word 1, bit 29 */
400 uint16_t fPort:1; /* FC Word 1, bit 28 */
401 uint16_t altBbCredit:1; /* FC Word 1, bit 27 */
402 uint16_t edtovResolution:1; /* FC Word 1, bit 26 */
403 uint16_t multicast:1; /* FC Word 1, bit 25 */
404 uint16_t app_hdr_support:1; /* FC Word 1, bit 24 */
406 uint16_t priority_tagging:1; /* FC Word 1, bit 23 */
407 uint16_t simplex:1; /* FC Word 1, bit 22 */
408 uint16_t word1Reserved1:3; /* FC Word 1, bit 21:19 */
409 uint16_t dhd:1; /* FC Word 1, bit 18 */
410 uint16_t contIncSeqCnt:1; /* FC Word 1, bit 17 */
411 uint16_t payloadlength:1; /* FC Word 1, bit 16 */
413 uint16_t app_hdr_support:1; /* FC Word 1, bit 24 */
414 uint16_t multicast:1; /* FC Word 1, bit 25 */
415 uint16_t edtovResolution:1; /* FC Word 1, bit 26 */
416 uint16_t altBbCredit:1; /* FC Word 1, bit 27 */
417 uint16_t fPort:1; /* FC Word 1, bit 28 */
418 uint16_t response_multiple_NPort:1; /* FC Word 1, bit 29 */
419 uint16_t randomOffset:1; /* FC Word 1, bit 30 */
420 uint16_t request_multiple_Nport:1; /* FC Word 1, bit 31 */
422 uint16_t payloadlength:1; /* FC Word 1, bit 16 */
423 uint16_t contIncSeqCnt:1; /* FC Word 1, bit 17 */
424 uint16_t dhd:1; /* FC Word 1, bit 18 */
425 uint16_t word1Reserved1:3; /* FC Word 1, bit 21:19 */
426 uint16_t simplex:1; /* FC Word 1, bit 22 */
427 uint16_t priority_tagging:1; /* FC Word 1, bit 23 */
431 uint8_t bbRcvSizeLsb; /* FC Word 1, byte 3 */
434 uint8_t word2Reserved1; /* FC Word 2 byte 0 */
436 uint8_t totalConcurrSeq; /* FC Word 2 byte 1 */
437 uint8_t roByCategoryMsb; /* FC Word 2 byte 2 */
439 uint8_t roByCategoryLsb; /* FC Word 2 byte 3 */
449 uint8_t classValid:1; /* FC Word 0, bit 31 */
450 uint8_t intermix:1; /* FC Word 0, bit 30 */
451 uint8_t stackedXparent:1; /* FC Word 0, bit 29 */
452 uint8_t stackedLockDown:1; /* FC Word 0, bit 28 */
453 uint8_t seqDelivery:1; /* FC Word 0, bit 27 */
454 uint8_t word0Reserved1:3; /* FC Word 0, bit 24:26 */
456 uint8_t word0Reserved1:3; /* FC Word 0, bit 24:26 */
457 uint8_t seqDelivery:1; /* FC Word 0, bit 27 */
458 uint8_t stackedLockDown:1; /* FC Word 0, bit 28 */
459 uint8_t stackedXparent:1; /* FC Word 0, bit 29 */
460 uint8_t intermix:1; /* FC Word 0, bit 30 */
461 uint8_t classValid:1; /* FC Word 0, bit 31 */
465 uint8_t word0Reserved2; /* FC Word 0, bit 16:23 */
468 uint8_t iCtlXidReAssgn:2; /* FC Word 0, Bit 14:15 */
469 uint8_t iCtlInitialPa:2; /* FC Word 0, bit 12:13 */
470 uint8_t iCtlAck0capable:1; /* FC Word 0, bit 11 */
471 uint8_t iCtlAckNcapable:1; /* FC Word 0, bit 10 */
472 uint8_t word0Reserved3:2; /* FC Word 0, bit 8: 9 */
474 uint8_t word0Reserved3:2; /* FC Word 0, bit 8: 9 */
475 uint8_t iCtlAckNcapable:1; /* FC Word 0, bit 10 */
476 uint8_t iCtlAck0capable:1; /* FC Word 0, bit 11 */
477 uint8_t iCtlInitialPa:2; /* FC Word 0, bit 12:13 */
478 uint8_t iCtlXidReAssgn:2; /* FC Word 0, Bit 14:15 */
481 uint8_t word0Reserved4; /* FC Word 0, bit 0: 7 */
484 uint8_t rCtlAck0capable:1; /* FC Word 1, bit 31 */
485 uint8_t rCtlAckNcapable:1; /* FC Word 1, bit 30 */
486 uint8_t rCtlXidInterlck:1; /* FC Word 1, bit 29 */
487 uint8_t rCtlErrorPolicy:2; /* FC Word 1, bit 27:28 */
488 uint8_t word1Reserved1:1; /* FC Word 1, bit 26 */
489 uint8_t rCtlCatPerSeq:2; /* FC Word 1, bit 24:25 */
491 uint8_t rCtlCatPerSeq:2; /* FC Word 1, bit 24:25 */
492 uint8_t word1Reserved1:1; /* FC Word 1, bit 26 */
493 uint8_t rCtlErrorPolicy:2; /* FC Word 1, bit 27:28 */
494 uint8_t rCtlXidInterlck:1; /* FC Word 1, bit 29 */
495 uint8_t rCtlAckNcapable:1; /* FC Word 1, bit 30 */
496 uint8_t rCtlAck0capable:1; /* FC Word 1, bit 31 */
499 uint8_t word1Reserved2; /* FC Word 1, bit 16:23 */
500 uint8_t rcvDataSizeMsb; /* FC Word 1, bit 8:15 */
501 uint8_t rcvDataSizeLsb; /* FC Word 1, bit 0: 7 */
503 uint8_t concurrentSeqMsb; /* FC Word 2, bit 24:31 */
504 uint8_t concurrentSeqLsb; /* FC Word 2, bit 16:23 */
505 uint8_t EeCreditSeqMsb; /* FC Word 2, bit 8:15 */
506 uint8_t EeCreditSeqLsb; /* FC Word 2, bit 0: 7 */
508 uint8_t openSeqPerXchgMsb; /* FC Word 3, bit 24:31 */
509 uint8_t openSeqPerXchgLsb; /* FC Word 3, bit 16:23 */
510 uint8_t word3Reserved1; /* Fc Word 3, bit 8:15 */
511 uint8_t word3Reserved2; /* Fc Word 3, bit 0: 7 */
567 * Extended Link Service LS_COMMAND codes (Payload Word 0)
669 uint8_t lsRjtRsvd0; /* FC Word 0, bit 24:31 */
671 uint8_t lsRjtRsnCode; /* FC Word 0, bit 16:23 */
681 uint8_t lsRjtRsnCodeExp; /* FC Word 0, bit 8:15 */
707 uint8_t vendorUnique; /* FC Word 0, bit 0: 7 */
718 uint32_t nPortId32; /* Access nPortId as a word */
720 uint8_t word1Reserved1; /* FC Word 1, bit 31:24 */
737 uint8_t prliType; /* FC Parm Word 0, bit 24:31 */
741 uint8_t word0Reserved1; /* FC Parm Word 0, bit 16:23 */
744 uint8_t origProcAssocV:1; /* FC Parm Word 0, bit 15 */
745 uint8_t respProcAssocV:1; /* FC Parm Word 0, bit 14 */
746 uint8_t estabImagePair:1; /* FC Parm Word 0, bit 13 */
749 uint8_t word0Reserved2:1; /* FC Parm Word 0, bit 12 */
750 uint8_t acceptRspCode:4; /* FC Parm Word 0, bit 8:11, ACC ONLY */
752 uint8_t acceptRspCode:4; /* FC Parm Word 0, bit 8:11, ACC ONLY */
753 uint8_t word0Reserved2:1; /* FC Parm Word 0, bit 12 */
754 uint8_t estabImagePair:1; /* FC Parm Word 0, bit 13 */
755 uint8_t respProcAssocV:1; /* FC Parm Word 0, bit 14 */
756 uint8_t origProcAssocV:1; /* FC Parm Word 0, bit 15 */
767 uint8_t word0Reserved3; /* FC Parm Word 0, bit 0:7 */
769 uint32_t origProcAssoc; /* FC Parm Word 1, bit 0:31 */
771 uint32_t respProcAssoc; /* FC Parm Word 2, bit 0:31 */
773 uint8_t word3Reserved1; /* FC Parm Word 3, bit 24:31 */
774 uint8_t word3Reserved2; /* FC Parm Word 3, bit 16:23 */
777 uint16_t Word3bit15Resved:1; /* FC Parm Word 3, bit 15 */
778 uint16_t Word3bit14Resved:1; /* FC Parm Word 3, bit 14 */
779 uint16_t Word3bit13Resved:1; /* FC Parm Word 3, bit 13 */
780 uint16_t Word3bit12Resved:1; /* FC Parm Word 3, bit 12 */
781 uint16_t Word3bit11Resved:1; /* FC Parm Word 3, bit 11 */
782 uint16_t Word3bit10Resved:1; /* FC Parm Word 3, bit 10 */
783 uint16_t TaskRetryIdReq:1; /* FC Parm Word 3, bit 9 */
784 uint16_t Retry:1; /* FC Parm Word 3, bit 8 */
785 uint16_t ConfmComplAllowed:1; /* FC Parm Word 3, bit 7 */
786 uint16_t dataOverLay:1; /* FC Parm Word 3, bit 6 */
787 uint16_t initiatorFunc:1; /* FC Parm Word 3, bit 5 */
788 uint16_t targetFunc:1; /* FC Parm Word 3, bit 4 */
789 uint16_t cmdDataMixEna:1; /* FC Parm Word 3, bit 3 */
790 uint16_t dataRspMixEna:1; /* FC Parm Word 3, bit 2 */
791 uint16_t readXferRdyDis:1; /* FC Parm Word 3, bit 1 */
792 uint16_t writeXferRdyDis:1; /* FC Parm Word 3, bit 0 */
794 uint16_t Retry:1; /* FC Parm Word 3, bit 8 */
795 uint16_t TaskRetryIdReq:1; /* FC Parm Word 3, bit 9 */
796 uint16_t Word3bit10Resved:1; /* FC Parm Word 3, bit 10 */
797 uint16_t Word3bit11Resved:1; /* FC Parm Word 3, bit 11 */
798 uint16_t Word3bit12Resved:1; /* FC Parm Word 3, bit 12 */
799 uint16_t Word3bit13Resved:1; /* FC Parm Word 3, bit 13 */
800 uint16_t Word3bit14Resved:1; /* FC Parm Word 3, bit 14 */
801 uint16_t Word3bit15Resved:1; /* FC Parm Word 3, bit 15 */
802 uint16_t writeXferRdyDis:1; /* FC Parm Word 3, bit 0 */
803 uint16_t readXferRdyDis:1; /* FC Parm Word 3, bit 1 */
804 uint16_t dataRspMixEna:1; /* FC Parm Word 3, bit 2 */
805 uint16_t cmdDataMixEna:1; /* FC Parm Word 3, bit 3 */
806 uint16_t targetFunc:1; /* FC Parm Word 3, bit 4 */
807 uint16_t initiatorFunc:1; /* FC Parm Word 3, bit 5 */
808 uint16_t dataOverLay:1; /* FC Parm Word 3, bit 6 */
809 uint16_t ConfmComplAllowed:1; /* FC Parm Word 3, bit 7 */
818 uint8_t prloType; /* FC Parm Word 0, bit 24:31 */
821 uint8_t word0Reserved1; /* FC Parm Word 0, bit 16:23 */
824 uint8_t origProcAssocV:1; /* FC Parm Word 0, bit 15 */
825 uint8_t respProcAssocV:1; /* FC Parm Word 0, bit 14 */
826 uint8_t word0Reserved2:2; /* FC Parm Word 0, bit 12:13 */
827 uint8_t acceptRspCode:4; /* FC Parm Word 0, bit 8:11, ACC ONLY */
829 uint8_t acceptRspCode:4; /* FC Parm Word 0, bit 8:11, ACC ONLY */
830 uint8_t word0Reserved2:2; /* FC Parm Word 0, bit 12:13 */
831 uint8_t respProcAssocV:1; /* FC Parm Word 0, bit 14 */
832 uint8_t origProcAssocV:1; /* FC Parm Word 0, bit 15 */
839 uint8_t word0Reserved3; /* FC Parm Word 0, bit 0:7 */
841 uint32_t origProcAssoc; /* FC Parm Word 1, bit 0:31 */
843 uint32_t respProcAssoc; /* FC Parm Word 2, bit 0:31 */
845 uint32_t word3Reserved1; /* FC Parm Word 3, bit 0:31 */
965 #define LPFC_MAX_VFN_PER_PFN 255 /* Maximum VFs allowed per ARI */
1010 uint32_t word; member
1038 uint8_t elsCode; /* FC Word 0, bit 24:31 */
1053 uint8_t pad[128 - 4]; /* Pad out to payload of 128 bytes */
1063 uint8_t lcb_sub_command;/* LCB Payload Word 1, bit 24:31 */
1067 uint8_t capability; /* LCB Payload Word 1, bit 0:7 */
1068 uint8_t lcb_type; /* LCB Payload Word 2, bit 24:31 */
1071 uint8_t lcb_frequency; /* LCB Payload Word 2, bit 16:23 */
1075 uint16_t lcb_duration; /* LCB Payload Word 2, bit 15:0 */
1083 uint8_t lcb_sub_command;/* LCB Payload Word 1, bit 24:31 */
1085 uint8_t capability; /* LCB Payload Word 1, bit 0:7 */
1086 uint8_t lcb_type; /* LCB Payload Word 2, bit 24:31 */
1087 uint8_t lcb_frequency; /* LCB Payload Word 2, bit 16:23 */
1088 uint16_t lcb_duration; /* LCB Payload Word 2, bit 15:0 */
1123 * Link Error Status Block Structure (FC-FS-3) for RDP
1158 uint32_t port_type; /* bits 31-30 only */
1216 uint32_t els_req; /* Request payload word 0 value.*/
1224 /* must be ELS req Word 0(0x18) */
1245 uint32_t port_bbc; /* FC_Port buffer-to-buffer credit */
1302 uint32_t rdp_des_length; /* RDP Payload Word 1 */
1303 struct fc_rdp_nport_desc nport_id_desc; /* RDP Payload Word 2 - 4 */
1309 uint32_t length; /* FC Word 1 */
1310 struct fc_rdp_link_service_desc link_service_desc; /* Word 2 -4 */
1311 struct fc_rdp_sfp_desc sfp_desc; /* Word 5 -9 */
1312 struct fc_rdp_port_speed_desc portspeed_desc; /* Word 10 -12 */
1313 struct fc_rdp_link_error_status_desc link_error_desc; /* Word 13 -21 */
1314 struct fc_rdp_port_name_desc diag_port_names_desc; /* Word 22 -27 */
1315 struct fc_rdp_port_name_desc attached_port_names_desc;/* Word 28 -33 */
1316 struct fc_fec_rdp_desc fec_desc; /* FC word 34-37*/
1317 struct fc_rdp_bbc_desc bbc_desc; /* FC Word 38-42*/
1318 struct fc_rdp_oed_sfp_desc oed_temp_desc; /* FC Word 43-47*/
1319 struct fc_rdp_oed_sfp_desc oed_voltage_desc; /* FC word 48-52*/
1320 struct fc_rdp_oed_sfp_desc oed_txbias_desc; /* FC word 53-57*/
1321 struct fc_rdp_oed_sfp_desc oed_txpower_desc; /* FC word 58-62*/
1322 struct fc_rdp_oed_sfp_desc oed_rxpower_desc; /* FC word 63-67*/
1323 struct fc_rdp_opd_sfp_desc opd_desc; /* FC word 68-84*/
1384 uint32_t length; /* FC Word 1 */
1468 struct lpfc_fdmi_attr_entry Entry; /* Variable-length array */
1532 #define SLI_MGMT_DHBA 0x300 /* De-register HBA */
1533 #define SLI_MGMT_DHAT 0x301 /* De-register HBA attributes */
1534 #define SLI_MGMT_DPRT 0x310 /* De-register Port */
1535 #define SLI_MGMT_DPA 0x311 /* De-register Port attributes */
1537 #define LPFC_FDMI_MAX_RETRY 3 /* Max retries for a FDMI command */
1552 #define RHBA_MAX_CT_PAYLOAD_LEN 0xb /* 32-bit unsigned int */
1554 #define RHBA_VENDOR_INFO 0xd /* 32-bit unsigned int */
1555 #define RHBA_NUM_PORTS 0xe /* 32-bit unsigned int */
1558 #define RHBA_BIOS_STATE 0x11 /* 32-bit unsigned int */
1581 /* Bit mask for FDMI-1 defined HBA attributes */
1584 /* Bit mask for FDMI-2 defined HBA attributes */
1592 #define RPRT_SUPPORTED_SPEED 0x2 /* 32-bit unsigned int */
1593 #define RPRT_PORT_SPEED 0x3 /* 32-bit unsigned int */
1594 #define RPRT_MAX_FRAME_SIZE 0x4 /* 32-bit unsigned int */
1600 #define RPRT_PORT_TYPE 0xa /* 32-bit unsigned int */
1601 #define RPRT_SUPPORTED_CLASS 0xb /* 32-bit unsigned int */
1604 #define RPRT_PORT_STATE 0x101 /* 32-bit unsigned int */
1605 #define RPRT_DISC_PORT 0x102 /* 32-bit unsigned int */
1606 #define RPRT_PORT_ID 0x103 /* 32-bit unsigned int */
1612 #define RPRT_SMART_PORT_INFO 0xf104 /* 32-bit unsigned int */
1613 #define RPRT_SMART_QOS 0xf105 /* 32-bit unsigned int */
1614 #define RPRT_SMART_SECURITY 0xf106 /* 32-bit unsigned int */
1642 /* Bit mask for FDMI-1 defined PORT attributes */
1645 /* Bit mask for FDMI-2 defined PORT attributes */
1663 * BAR0, offset 0x10 - SLIM base memory address
1664 * BAR1, offset 0x14 - SLIM base memory high address
1665 * BAR2, offset 0x18 - REGISTER base memory address
1666 * BAR3, offset 0x1c - REGISTER base memory high address
1667 * BAR4, offset 0x20 - BIU I/O registers
1668 * BAR5, offset 0x24 - REGISTER base io high address
1681 /* Number of 4-byte words in an IOCB. */
1845 #define HS_FFERM 0xFF000100 /* Mask for error bits 31:24 and 8 */
1862 /* Message Signaled Interrupt eXtension (MSI-X) message identifiers */
2028 /* Unhandled SLI-3 Commands */
2051 #define MAX_MSG_DATA 28 /* max msg data in CMD_ADAPTER_MSG
2053 #define LPFC_MAX_ADPTMSG 32 /* max msg data */
2079 #define MBX_TIMEOUT 0xfffffe /* time-out expired waiting for */
2119 typedef struct ULP_BDL { /* SLI-2 */
2356 #define FLAGS_TOPOLOGY_MODE_LOOP_PT 0x00 /* Attempt loop then pt-pt */
2358 #define FLAGS_TOPOLOGY_MODE_PT_PT 0x02 /* Attempt pt-pt only */
2360 #define FLAGS_TOPOLOGY_MODE_PT_LOOP 0x06 /* Attempt pt-pt then loop */
2901 /* Word 30 contents for REG_LOGIN */
2914 uint32_t word; member
3022 #define LPFC_ATT_RESERVED 0x00 /* Reserved - attType */
3039 #define LPFC_TOPOLOGY_PT_PT 0x01 /* Topology is pt-pt / pt-fabric */
3040 #define LPFC_TOPOLOGY_LOOP 0x02 /* Topology is FC-AL */
3136 #define DMP_RSP_OFFSET 0x14 /* word 5 contains first word of rsp */
3382 uint32_t rsvd : 31; /* least significant 31 bits of word 9 */
3384 uint32_t rsvd : 31; /* least significant 31 bits of word 9 */
3393 uint32_t cmv : 1; /* Configure Max VPIs */
3399 uint32_t cmx : 1; /* Configure Max XRIs */
3400 uint32_t cmr : 1; /* Configure Max RPIs */
3402 uint32_t cmr : 1; /* Configure Max RPIs */
3403 uint32_t cmx : 1; /* Configure Max XRIs */
3409 uint32_t cmv : 1; /* Configure Max VPIs */
3420 uint32_t gmv : 1; /* Grant Max VPIs */
3426 uint32_t gmx : 1; /* Grant Max XRIs */
3427 uint32_t gmr : 1; /* Grant Max RPIs */
3429 uint32_t gmr : 1; /* Grant Max RPIs */
3430 uint32_t gmx : 1; /* Grant Max XRIs */
3436 uint32_t gmv : 1; /* Grant Max VPIs */
3444 uint32_t max_rpi : 16; /* Max RPIs Port should configure */
3445 uint32_t max_xri : 16; /* Max XRIs Port should configure */
3447 uint32_t max_xri : 16; /* Max XRIs Port should configure */
3448 uint32_t max_rpi : 16; /* Max RPIs Port should configure */
3452 uint32_t max_hbq : 16; /* Max HBQs Host expect to configure */
3453 uint32_t rsvd5 : 16; /* Max HBQs Host expect to configure */
3455 uint32_t rsvd5 : 16; /* Max HBQs Host expect to configure */
3456 uint32_t max_hbq : 16; /* Max HBQs Host expect to configure */
3463 uint32_t max_vpi : 16; /* Max number of virt N-Ports */
3465 uint32_t max_vpi : 16; /* Max number of virt N-Ports */
3505 /* SLI-2 Port Control Block */
3508 #define SLIMOFF 0x30 /* WORD */
3580 uint32_t ring:2; /* Ring for ASYNC_EVENT iocb Bits 0-1*/
3582 uint32_t ring:2; /* Ring for ASYNC_EVENT iocb Bits 0-1*/
3590 /* ext_wsize times 4 bytes should not be greater than max xmit size */
3594 /* max mbox xmit size is a page size for sysfs IO operations */
3598 uint32_t varWords[MAILBOX_CMD_WSIZE - 1]; /* first word is type/
3599 * feature/max ring number
3641 * SLI-2 specific structures
3683 uint8_t mbxOwner:1; /* Low order bit first word */
3685 uint8_t mbxOwner:1; /* Low order bit first word */
3794 #define IOERR_SLI_DOWN 0x101 /* ulpStatus - Driver defined */
3806 uint8_t Fctl; /* Bits 0-7 of IOCB word 5 */
3808 uint8_t Fctl; /* Bits 0-7 of IOCB word 5 */
3814 #define BC 0x02 /* Broadcast Received - Fctl */
3832 WORD5 w5; /* Header control/status word */
3921 /* SLI-2 IOCB structure definitions */
3927 WORD5 w5; /* Header control/status word */
3930 /* This word is remote ports D_ID for XMIT_ELS_RSP64 */
3938 WORD5 w5; /* Header control/status word */
3963 WORD5 w5; /* Header control/status word */
4028 uint16_t evt_code; /* High order bits word 5 */
4029 uint16_t sub_ctxt_tag; /* Low order bits word 5 */
4031 uint16_t sub_ctxt_tag; /* High order bits word 5 */
4032 uint16_t evt_code; /* Low order bits word 5 */
4083 uint32_t filler[6]; /* word 8-13 in IOCB */
4084 uint32_t bghm; /* word 14 - BlockGuard High Water Mark */
4085 /* Bitfields for bgstat (BlockGuard Status - word 15 of IOCB) */
4104 uint32_t bgstat; /* word 15 - BlockGuard Status */
4203 /* SLI-2 structures */
4217 uint32_t ulpWord[IOCB_WORD_SZ - 2]; /* generic 6 'words' */
4222 uint16_t ulpContext; /* High order bits word 6 */
4223 uint16_t ulpIoTag; /* Low order bits word 6 */
4225 uint16_t ulpIoTag; /* Low order bits word 6 */
4226 uint16_t ulpContext; /* High order bits word 6 */
4231 uint16_t ulpContext; /* High order bits word 6 */
4232 uint16_t ulpIoTag1:2; /* Low order bits word 6 */
4233 uint16_t ulpIoTag0:14; /* Low order bits word 6 */
4235 uint16_t ulpIoTag0:14; /* Low order bits word 6 */
4236 uint16_t ulpIoTag1:2; /* Low order bits word 6 */
4237 uint16_t ulpContext; /* High order bits word 6 */
4256 uint32_t ulpOwner:1; /* Low order bit word 7 */
4258 uint32_t ulpOwner:1; /* Low order bit word 7 */
4272 struct rcv_sli3 rcvsli3; /* words 8 - 15 */
4274 /* words 8-31 used for que_xri_cx iocb */
4277 uint32_t sli3Words[24]; /* 96 extra bytes for SLI-3 */
4279 /* words 8-15 for BlockGuard */
4286 #define IOCB_FCP 1 /* IOCB is used for FCP ELS cmds-ulpRsvByte */
4288 #define PARM_UNUSED 0 /* PU field (Word 4) not used */
4289 #define PARM_REL_OFF 1 /* PU field (Word 4) = R. O. */
4290 #define PARM_READ_CHECK 2 /* PU field (Word 4) = Data Transfer Length */
4295 #define CLASS_FCP_INTERMIX 7 /* FCP Data->Cls 1, all else->Cls 2 */
4297 #define IOSTAT_SUCCESS 0x0 /* ulpStatus - HBA defined */
4313 #define IOSTAT_DRIVER_REJECT 0x10 /* ulpStatus - Driver defined */
4329 #define MAX_SLIM_IOCB_SIZE (SLI2_SLIM_SIZE - \
4378 return (iocbp->ulpStatus == IOSTAT_LOCAL_REJECT && in lpfc_error_lost_link()
4379 (iocbp->un.ulpWord[4] == IOERR_SLI_ABORTED || in lpfc_error_lost_link()
4380 iocbp->un.ulpWord[4] == IOERR_LINK_DOWN || in lpfc_error_lost_link()
4381 iocbp->un.ulpWord[4] == IOERR_SLI_DOWN)); in lpfc_error_lost_link()