Go to the documentation of this file.
10 #define MBS_CHECKSUM_ERROR 0x4010
11 #define MBS_INVALID_PRODUCT_KEY 0x4020
16 #define FO1_ENABLE_PUREX BIT_10
17 #define FO1_DISABLE_LED_CTRL BIT_6
18 #define FO1_ENABLE_8016 BIT_0
19 #define FO2_ENABLE_SEL_CLASS2 BIT_5
20 #define FO3_NO_ABTS_ON_LINKDOWN BIT_14
21 #define FO3_HOLD_STS_IOCB BIT_12
26 #define PDO_FORCE_ADISC BIT_1
27 #define PDO_FORCE_PLOGI BIT_0
30 #define PORT_DATABASE_24XX_SIZE 64
33 #define PDF_TASK_RETRY_ID BIT_14
34 #define PDF_FC_TAPE BIT_7
35 #define PDF_ACK0_CAPABLE BIT_6
36 #define PDF_FCP2_CONF BIT_5
37 #define PDF_CLASS_2 BIT_4
38 #define PDF_HARD_ADDR BIT_1
42 #define PDS_PLOGI_PENDING 0x03
43 #define PDS_PLOGI_COMPLETE 0x04
44 #define PDS_PRLI_PENDING 0x05
45 #define PDS_PRLI_COMPLETE 0x06
46 #define PDS_PORT_UNAVAILABLE 0x07
47 #define PDS_PRLO_PENDING 0x09
48 #define PDS_LOGO_PENDING 0x11
49 #define PDS_PRLI2_PENDING 0x12
270 #define ICB_VERSION 1
384 #define COMMAND_BIDIRECTIONAL 0x75
403 #define BD_WRAP_BACK BIT_3
404 #define BD_READ_DATA BIT_1
405 #define BD_WRITE_DATA BIT_0
422 #define COMMAND_TYPE_6 0x48
441 #define CF_DIF_SEG_DESCR_ENABLE BIT_3
442 #define CF_DATA_SEG_DESCR_ENABLE BIT_2
443 #define CF_READ_DATA BIT_1
444 #define CF_WRITE_DATA BIT_0
460 #define COMMAND_TYPE_7 0x18
471 #define FW_MAX_TIMEOUT 0x1999
479 #define TMF_CLEAR_ACA BIT_14
480 #define TMF_TARGET_RESET BIT_13
481 #define TMF_LUN_RESET BIT_12
482 #define TMF_CLEAR_TASK_SET BIT_10
483 #define TMF_ABORT_TASK_SET BIT_9
484 #define TMF_DSD_LIST_ENABLE BIT_2
485 #define TMF_READ_DATA BIT_1
486 #define TMF_WRITE_DATA BIT_0
490 #define TSK_HEAD_OF_QUEUE 1
491 #define TSK_ORDERED 2
493 #define TSK_UNTAGGED 5
507 #define COMMAND_TYPE_CRC_2 0x6A
547 #define STATUS_TYPE 0x03
563 #define SF_TRANSFERRED_DATA BIT_11
564 #define SF_FCP_RSP_DMA BIT_0
568 #define SS_CONFIRMATION_REQ BIT_12
593 #define CS_DATA_REASSEMBLY_ERROR 0x11
594 #define CS_ABTS_BY_TARGET 0x13
595 #define CS_FW_RESOURCE 0x2C
596 #define CS_TASK_MGMT_OVERRUN 0x30
597 #define CS_ABORT_BY_TARGET 0x47
602 #define MARKER_TYPE 0x04
614 #define MK_SYNC_ID_LUN 0
616 #define MK_SYNC_ALL 2
631 #define CT_IOCB_TYPE 0x29
668 #define ELS_IOCB_TYPE 0x53
685 #define EST_SOFI3 (1 << 4)
686 #define EST_SOFI2 (3 << 4)
700 #define ECF_PAYLOAD_DESCR_MASK (BIT_15|BIT_14|BIT_13)
701 #define EPD_ELS_COMMAND (0 << 13)
702 #define EPD_ELS_ACC (1 << 13)
703 #define EPD_ELS_RJT (2 << 13)
704 #define EPD_RX_XCHG (3 << 13)
705 #define ECF_CLR_PASSTHRU_PEND BIT_12
706 #define ECF_INCL_FRAME_HDR BIT_11
753 #define MBX_IOCB_TYPE 0x39
766 #define LOGINOUT_PORT_IOCB_TYPE 0x52
776 #define CS_LOGIO_ERROR 0x31
782 #define LCF_INCLUDE_SNS BIT_10
783 #define LCF_FCP2_OVERRIDE BIT_9
784 #define LCF_CLASS_2 BIT_8
785 #define LCF_FREE_NPORT BIT_7
786 #define LCF_EXPL_LOGO BIT_6
787 #define LCF_SKIP_PRLI BIT_5
788 #define LCF_IMPL_LOGO_ALL BIT_5
789 #define LCF_COND_PLOGI BIT_4
790 #define LCF_IMPL_LOGO BIT_4
791 #define LCF_IMPL_PRLO BIT_4
793 #define LCF_COMMAND_PLOGI 0x00
794 #define LCF_COMMAND_PRLI 0x01
795 #define LCF_COMMAND_PDISC 0x02
796 #define LCF_COMMAND_ADISC 0x03
797 #define LCF_COMMAND_LOGO 0x08
798 #define LCF_COMMAND_PRLO 0x09
799 #define LCF_COMMAND_TPRLO 0x0A
809 #define LSC_SCODE_NOLINK 0x01
810 #define LSC_SCODE_NOIOCB 0x02
811 #define LSC_SCODE_NOXCB 0x03
812 #define LSC_SCODE_CMD_FAILED 0x04
813 #define LSC_SCODE_NOFABRIC 0x05
814 #define LSC_SCODE_FW_NOT_READY 0x07
815 #define LSC_SCODE_NOT_LOGGED_IN 0x09
816 #define LSC_SCODE_NOPCB 0x0A
818 #define LSC_SCODE_ELS_REJECT 0x18
819 #define LSC_SCODE_CMD_PARAM_ERR 0x19
820 #define LSC_SCODE_PORTID_USED 0x1A
821 #define LSC_SCODE_NPORT_USED 0x1B
822 #define LSC_SCODE_NONPORT 0x1C
823 #define LSC_SCODE_LOGGED_IN 0x1D
824 #define LSC_SCODE_NOFLOGI_ACC 0x1F
827 #define TSK_MGMT_IOCB_TYPE 0x14
847 #define TCF_NOTMCMD_TO_TARGET BIT_31
848 #define TCF_LUN_RESET BIT_4
849 #define TCF_ABORT_TASK_SET BIT_3
850 #define TCF_CLEAR_TASK_SET BIT_2
851 #define TCF_TARGET_RESET BIT_1
852 #define TCF_CLEAR_ACA BIT_0
862 #define ABORT_IOCB_TYPE 0x33
875 #define AOF_NO_ABTS BIT_0
893 #define FARX_DATA_FLAG BIT_31
894 #define FARX_ACCESS_FLASH_CONF 0x7FFD0000
895 #define FARX_ACCESS_FLASH_DATA 0x7FF00000
896 #define FARX_ACCESS_NVRAM_CONF 0x7FFF0000
897 #define FARX_ACCESS_NVRAM_DATA 0x7FFE0000
899 #define FA_NVRAM_FUNC0_ADDR 0x80
900 #define FA_NVRAM_FUNC1_ADDR 0x180
902 #define FA_NVRAM_VPD_SIZE 0x200
903 #define FA_NVRAM_VPD0_ADDR 0x00
904 #define FA_NVRAM_VPD1_ADDR 0x100
906 #define FA_BOOT_CODE_ADDR 0x00000
912 #define FA_RISC_CODE_ADDR 0x20000
913 #define FA_RISC_CODE_SEGMENTS 2
915 #define FA_FLASH_DESCR_ADDR_24 0x11000
916 #define FA_FLASH_LAYOUT_ADDR_24 0x11400
917 #define FA_NPIV_CONF0_ADDR_24 0x16000
918 #define FA_NPIV_CONF1_ADDR_24 0x17000
920 #define FA_FW_AREA_ADDR 0x40000
921 #define FA_VPD_NVRAM_ADDR 0x48000
922 #define FA_FEATURE_ADDR 0x4C000
923 #define FA_FLASH_DESCR_ADDR 0x50000
924 #define FA_FLASH_LAYOUT_ADDR 0x50400
925 #define FA_HW_EVENT0_ADDR 0x54000
926 #define FA_HW_EVENT1_ADDR 0x54400
927 #define FA_HW_EVENT_SIZE 0x200
928 #define FA_HW_EVENT_ENTRY_SIZE 4
929 #define FA_NPIV_CONF0_ADDR 0x5C000
930 #define FA_NPIV_CONF1_ADDR 0x5D000
931 #define FA_FCP_PRIO0_ADDR 0x10000
932 #define FA_FCP_PRIO1_ADDR 0x12000
937 #define HW_EVENT_RESET_ERR 0xF00B
938 #define HW_EVENT_ISP_ERR 0xF020
939 #define HW_EVENT_PARITY_ERR 0xF022
940 #define HW_EVENT_NVRAM_CHKSUM_ERR 0xF023
941 #define HW_EVENT_FLASH_FW_ERR 0xF024
946 #define CSRX_FLASH_ACCESS_ERROR BIT_18
947 #define CSRX_DMA_ACTIVE BIT_17
948 #define CSRX_DMA_SHUTDOWN BIT_16
949 #define CSRX_FUNCTION BIT_15
951 #define CSRX_PCIX_BUS_MODE_MASK (BIT_11|BIT_10|BIT_9|BIT_8)
952 #define PBM_PCI_33MHZ (0 << 8)
953 #define PBM_PCIX_M1_66MHZ (1 << 8)
954 #define PBM_PCIX_M1_100MHZ (2 << 8)
955 #define PBM_PCIX_M1_133MHZ (3 << 8)
956 #define PBM_PCIX_M2_66MHZ (5 << 8)
957 #define PBM_PCIX_M2_100MHZ (6 << 8)
958 #define PBM_PCIX_M2_133MHZ (7 << 8)
959 #define PBM_PCI_66MHZ (8 << 8)
961 #define CSRX_MAX_WRT_BURST_MASK (BIT_5|BIT_4)
962 #define MWB_512_BYTES (0 << 4)
963 #define MWB_1024_BYTES (1 << 4)
964 #define MWB_2048_BYTES (2 << 4)
965 #define MWB_4096_BYTES (3 << 4)
967 #define CSRX_64BIT_SLOT BIT_2
968 #define CSRX_FLASH_ENABLE BIT_1
969 #define CSRX_ISP_SOFT_RESET BIT_0
972 #define ICRX_EN_RISC_INT BIT_3
975 #define ISRX_RISC_INT BIT_3
996 #define HSRX_RISC_INT BIT_15
997 #define HSRX_RISC_PAUSED BIT_8
1001 #define HCCRX_HOST_INT BIT_6
1002 #define HCCRX_RISC_RESET BIT_5
1005 #define HCCRX_NOOP 0x00000000
1007 #define HCCRX_SET_RISC_RESET 0x10000000
1009 #define HCCRX_CLR_RISC_RESET 0x20000000
1011 #define HCCRX_SET_RISC_PAUSE 0x30000000
1013 #define HCCRX_REL_RISC_PAUSE 0x40000000
1015 #define HCCRX_SET_HOST_INT 0x50000000
1017 #define HCCRX_CLR_HOST_INT 0x60000000
1019 #define HCCRX_CLR_RISC_INT 0xA0000000
1024 #define GPDX_LED_UPDATE_MASK (BIT_20|BIT_19|BIT_18)
1026 #define GPDX_DATA_UPDATE_MASK (BIT_17|BIT_16)
1028 #define GPDX_DATA_UPDATE_2_MASK (BIT_28|BIT_27|BIT_26|BIT_17|BIT_16)
1030 #define GPDX_LED_COLOR_MASK (BIT_4|BIT_3|BIT_2)
1034 #define GPDX_LED_YELLOW_ON BIT_2
1035 #define GPDX_LED_GREEN_ON BIT_3
1036 #define GPDX_LED_AMBER_ON BIT_4
1038 #define GPDX_DATA_INOUT (BIT_1|BIT_0)
1042 #define GPEX_ENABLE_UPDATE_MASK (BIT_17|BIT_16)
1044 #define GPEX_ENABLE_UPDATE_2_MASK (BIT_28|BIT_27|BIT_26|BIT_17|BIT_16)
1046 #define GPEX_ENABLE (BIT_1|BIT_0)
1098 #define TC_AEN_DISABLE 0
1100 #define TC_EFT_ENABLE 4
1101 #define TC_EFT_DISABLE 5
1103 #define TC_FCE_ENABLE 8
1104 #define TC_FCE_OPTIONS 0
1105 #define TC_FCE_DEFAULT_RX_SIZE 2112
1106 #define TC_FCE_DEFAULT_TX_SIZE 2112
1107 #define TC_FCE_DISABLE 9
1108 #define TC_FCE_DISABLE_TRACE BIT_0
1112 #define MIN_MULTI_ID_FABRIC 64
1113 #define MAX_MULTI_ID_FABRIC 256
1115 #define for_each_mapped_vp_idx(_ha, _idx) \
1116 for (_idx = find_next_bit((_ha)->vp_idx_map, \
1117 (_ha)->max_npiv_vports + 1, 1); \
1118 _idx <= (_ha)->max_npiv_vports; \
1119 _idx = find_next_bit((_ha)->vp_idx_map, \
1120 (_ha)->max_npiv_vports + 1, _idx + 1)) \
1154 #define MDBS_NON_PARTIC BIT_3
1155 #define MDBS_ID_ACQUIRED BIT_1
1156 #define MDBS_ENABLED BIT_0
1171 #define VP_CTRL_IOCB_TYPE 0x30
1183 #define CS_VCE_IOCB_ERROR 0x01
1184 #define CS_VCE_ACQ_ID_ERROR 0x02
1185 #define CS_VCE_BUSY 0x05
1188 #define VCE_COMMAND_ENABLE_VPS 0x00
1189 #define VCE_COMMAND_DISABLE_VPS 0x08
1190 #define VCE_COMMAND_DISABLE_VPS_REINIT 0x09
1191 #define VCE_COMMAND_DISABLE_VPS_LOGO 0x0a
1192 #define VCE_COMMAND_DISABLE_VPS_LOGO_ALL 0x0b
1207 #define VP_CONFIG_IOCB_TYPE 0x31
1217 #define CS_VF_BIND_VPORTS_TO_VF BIT_0
1218 #define CS_VF_SET_QOS_OF_VPORTS BIT_1
1219 #define CS_VF_SET_HOPS_OF_VPORTS BIT_2
1222 #define CS_VCT_STS_ERROR 0x01
1223 #define CS_VCT_CNT_ERROR 0x02
1224 #define CS_VCT_ERROR 0x03
1225 #define CS_VCT_IDX_ERROR 0x02
1226 #define CS_VCT_BUSY 0x05
1229 #define VCT_COMMAND_MOD_VPS 0x00
1230 #define VCT_COMMAND_MOD_ENABLE_VPS 0x01
1254 #define VP_RPT_ID_IOCB_TYPE 0x32
1276 #define VF_EVFP_IOCB_TYPE 0x26
1353 #define FLT_REG_FW 0x01
1354 #define FLT_REG_BOOT_CODE 0x07
1355 #define FLT_REG_VPD_0 0x14
1356 #define FLT_REG_NVRAM_0 0x15
1357 #define FLT_REG_VPD_1 0x16
1358 #define FLT_REG_NVRAM_1 0x17
1359 #define FLT_REG_FDT 0x1a
1360 #define FLT_REG_FLT 0x1c
1361 #define FLT_REG_HW_EVENT_0 0x1d
1362 #define FLT_REG_HW_EVENT_1 0x1f
1363 #define FLT_REG_NPIV_CONF_0 0x29
1364 #define FLT_REG_NPIV_CONF_1 0x2a
1365 #define FLT_REG_GOLD_FW 0x2f
1366 #define FLT_REG_FCP_PRIO_0 0x87
1367 #define FLT_REG_FCP_PRIO_1 0x88
1368 #define FLT_REG_FCOE_FW 0xA4
1369 #define FLT_REG_FCOE_VPD_0 0xA9
1370 #define FLT_REG_FCOE_NVRAM_0 0xAA
1371 #define FLT_REG_FCOE_VPD_1 0xAB
1372 #define FLT_REG_FCOE_NVRAM_1 0xAC
1403 #define MBA_ISP84XX_ALERT 0x800f
1404 #define A84_PANIC_RECOVERY 0x1
1405 #define A84_OP_LOGIN_COMPLETE 0x2
1406 #define A84_DIAG_LOGIN_COMPLETE 0x3
1407 #define A84_GOLD_LOGIN_COMPLETE 0x4
1409 #define MBC_ISP84XX_RESET 0x3a
1411 #define FSTATE_REMOTE_FC_DOWN BIT_0
1412 #define FSTATE_NSL_LINK_DOWN BIT_1
1413 #define FSTATE_IS_DIAG_FW BIT_2
1414 #define FSTATE_LOGGED_IN BIT_3
1415 #define FSTATE_WAITING_FOR_VERIFY BIT_4
1417 #define VERIFY_CHIP_IOCB_TYPE 0x1B
1427 #define VCO_DONT_UPDATE_FW BIT_0
1428 #define VCO_FORCE_UPDATE BIT_1
1429 #define VCO_DONT_RESET_UPDATE BIT_2
1430 #define VCO_DIAG_FW BIT_3
1431 #define VCO_END_OF_DATA BIT_14
1432 #define VCO_ENABLE_DSD BIT_15
1460 #define CS_VCS_CHIP_FAILURE 0x3
1461 #define CS_VCS_BAD_EXCHANGE 0x8
1462 #define CS_VCS_SEQ_COMPLETEi 0x40
1465 #define VFC_CHECKSUM_ERROR 0x1
1466 #define VFC_INVALID_LEN 0x2
1467 #define VFC_ALREADY_IN_PROGRESS 0x8
1477 #define ACCESS_CHIP_IOCB_TYPE 0x2B
1487 #define ACO_DUMP_MEMORY 0x0
1488 #define ACO_LOAD_MEMORY 0x1
1489 #define ACO_CHANGE_CONFIG_PARAM 0x2
1490 #define ACO_REQUEST_INFO 0x3
1526 #define MBA_DCBX_START 0x8016
1527 #define MBA_DCBX_COMPLETE 0x8030
1528 #define MBA_FCF_CONF_ERR 0x8031
1529 #define MBA_DCBX_PARAM_UPDATE 0x8032
1530 #define MBA_IDC_COMPLETE 0x8100
1531 #define MBA_IDC_NOTIFY 0x8101
1532 #define MBA_IDC_TIME_EXT 0x8102
1534 #define MBC_IDC_ACK 0x101
1535 #define MBC_RESTART_MPI_FW 0x3d
1536 #define MBC_FLASH_ACCESS_CTRL 0x3e
1537 #define MBC_GET_XGMAC_STATS 0x7a
1538 #define MBC_GET_DCBX_PARAMS 0x51
1543 #define MBC_WRITE_REMOTE_REG 0x0001
1544 #define MBC_READ_REMOTE_REG 0x0009
1545 #define MBC_RESTART_NIC_FIRMWARE 0x003d
1546 #define MBC_SET_ACCESS_CONTROL 0x003e
1549 #define FAC_OPT_FORCE_SEMAPHORE BIT_15
1550 #define FAC_OPT_REQUESTOR_ID BIT_14
1551 #define FAC_OPT_CMD_SUBCODE 0xff
1554 #define FAC_OPT_CMD_WRITE_PROTECT 0x00
1555 #define FAC_OPT_CMD_WRITE_ENABLE 0x01
1556 #define FAC_OPT_CMD_ERASE_SECTOR 0x02
1557 #define FAC_OPT_CMD_LOCK_SEMAPHORE 0x03
1558 #define FAC_OPT_CMD_UNLOCK_SEMAPHORE 0x04
1559 #define FAC_OPT_CMD_GET_SECTOR_SIZE 0x05
1734 #define ICB_VERSION 1
1854 #define FARX_ACCESS_FLASH_CONF_81XX 0x7FFD0000
1855 #define FARX_ACCESS_FLASH_DATA_81XX 0x7F800000
1859 #define QLFC_FCP_PRIO_DISABLE 0x0
1860 #define QLFC_FCP_PRIO_ENABLE 0x1
1861 #define QLFC_FCP_PRIO_GET_CONFIG 0x2
1862 #define QLFC_FCP_PRIO_SET_CONFIG 0x3
1867 #define FCP_PRIO_ENTRY_VALID 0x1
1868 #define FCP_PRIO_ENTRY_TAG_VALID 0x2
1869 #define FCP_PRIO_ENTRY_SPID_VALID 0x4
1870 #define FCP_PRIO_ENTRY_DPID_VALID 0x8
1871 #define FCP_PRIO_ENTRY_LUNB_VALID 0x10
1872 #define FCP_PRIO_ENTRY_LUNE_VALID 0x20
1873 #define FCP_PRIO_ENTRY_SWWN_VALID 0x40
1874 #define FCP_PRIO_ENTRY_DWWN_VALID 0x80
1897 #define FCP_PRIO_ATTR_DISABLE 0x0
1898 #define FCP_PRIO_ATTR_ENABLE 0x1
1899 #define FCP_PRIO_ATTR_PERSIST 0x2
1901 #define FCP_PRIO_CFG_HDR_SIZE 0x10
1903 #define FCP_PRIO_CFG_ENTRY_SIZE 0x20
1906 #define FCP_PRIO_CFG_SIZE (32*1024)
1909 #define FA_FCP_PRIO0_ADDR_25 0x3C000
1910 #define FA_FCP_PRIO1_ADDR_25 0x3E000
1913 #define FA_BOOT_CODE_ADDR_81 0x80000
1914 #define FA_RISC_CODE_ADDR_81 0xA0000
1915 #define FA_FW_AREA_ADDR_81 0xC0000
1916 #define FA_VPD_NVRAM_ADDR_81 0xD0000
1917 #define FA_VPD0_ADDR_81 0xD0000
1918 #define FA_VPD1_ADDR_81 0xD0400
1919 #define FA_NVRAM0_ADDR_81 0xD0080
1920 #define FA_NVRAM1_ADDR_81 0xD0180
1921 #define FA_FEATURE_ADDR_81 0xD4000
1922 #define FA_FLASH_DESCR_ADDR_81 0xD8000
1923 #define FA_FLASH_LAYOUT_ADDR_81 0xD8400
1924 #define FA_HW_EVENT0_ADDR_81 0xDC000
1925 #define FA_HW_EVENT1_ADDR_81 0xDC400
1926 #define FA_NPIV_CONF0_ADDR_81 0xD1000
1927 #define FA_NPIV_CONF1_ADDR_81 0xD2000
1930 #define FA_FLASH_LAYOUT_ADDR_83 0xFC400