Commit 4b915a73663fe0951077ebcdaf02337ff2bddcfc
Committed by
James Bottomley
1 parent
816aa907b9
Exists in
master
and in
7 other branches
[SCSI] fusion - mpi header udpate
This updates mpi headers in fusion drivers to version 1.5.12. Signed-off-by: Eric Moore <Eric.Moore@lsil.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Showing 8 changed files with 554 additions and 102 deletions Side-by-side Diff
- drivers/message/fusion/lsi/mpi.h
- drivers/message/fusion/lsi/mpi_cnfg.h
- drivers/message/fusion/lsi/mpi_history.txt
- drivers/message/fusion/lsi/mpi_init.h
- drivers/message/fusion/lsi/mpi_ioc.h
- drivers/message/fusion/lsi/mpi_log_fc.h
- drivers/message/fusion/lsi/mpi_log_sas.h
- drivers/message/fusion/lsi/mpi_sas.h
drivers/message/fusion/lsi/mpi.h
... | ... | @@ -6,7 +6,7 @@ |
6 | 6 | * Title: MPI Message independent structures and definitions |
7 | 7 | * Creation Date: July 27, 2000 |
8 | 8 | * |
9 | - * mpi.h Version: 01.05.08 | |
9 | + * mpi.h Version: 01.05.10 | |
10 | 10 | * |
11 | 11 | * Version History |
12 | 12 | * --------------- |
... | ... | @@ -74,6 +74,8 @@ |
74 | 74 | * 06-24-05 01.05.08 Added function codes for SCSI IO 32 and |
75 | 75 | * TargetAssistExtended requests. |
76 | 76 | * Added EEDP IOCStatus codes. |
77 | + * 08-03-05 01.05.09 Bumped MPI_HEADER_VERSION_UNIT. | |
78 | + * 08-30-05 01.05.10 Added 2 new IOCStatus codes for Target. | |
77 | 79 | * -------------------------------------------------------------------------- |
78 | 80 | */ |
79 | 81 | |
... | ... | @@ -104,7 +106,7 @@ |
104 | 106 | /* Note: The major versions of 0xe0 through 0xff are reserved */ |
105 | 107 | |
106 | 108 | /* versioning for this MPI header set */ |
107 | -#define MPI_HEADER_VERSION_UNIT (0x0A) | |
109 | +#define MPI_HEADER_VERSION_UNIT (0x0C) | |
108 | 110 | #define MPI_HEADER_VERSION_DEV (0x00) |
109 | 111 | #define MPI_HEADER_VERSION_UNIT_MASK (0xFF00) |
110 | 112 | #define MPI_HEADER_VERSION_UNIT_SHIFT (8) |
... | ... | @@ -711,6 +713,8 @@ |
711 | 713 | #define MPI_IOCSTATUS_TARGET_DATA_OFFSET_ERROR (0x006D) |
712 | 714 | #define MPI_IOCSTATUS_TARGET_TOO_MUCH_WRITE_DATA (0x006E) |
713 | 715 | #define MPI_IOCSTATUS_TARGET_IU_TOO_SHORT (0x006F) |
716 | +#define MPI_IOCSTATUS_TARGET_ACK_NAK_TIMEOUT (0x0070) | |
717 | +#define MPI_IOCSTATUS_TARGET_NAK_RECEIVED (0x0071) | |
714 | 718 | |
715 | 719 | /****************************************************************************/ |
716 | 720 | /* Additional FCP target values (obsolete) */ |
... | ... | @@ -745,7 +749,7 @@ |
745 | 749 | #define MPI_IOCSTATUS_LAN_CANCELED (0x0087) |
746 | 750 | |
747 | 751 | /****************************************************************************/ |
748 | -/* Serial Attached SCSI values */ | |
752 | +/* Serial Attached SCSI values */ | |
749 | 753 | /****************************************************************************/ |
750 | 754 | |
751 | 755 | #define MPI_IOCSTATUS_SAS_SMP_REQUEST_FAILED (0x0090) |
drivers/message/fusion/lsi/mpi_cnfg.h
... | ... | @@ -6,7 +6,7 @@ |
6 | 6 | * Title: MPI Config message, structures, and Pages |
7 | 7 | * Creation Date: July 27, 2000 |
8 | 8 | * |
9 | - * mpi_cnfg.h Version: 01.05.09 | |
9 | + * mpi_cnfg.h Version: 01.05.11 | |
10 | 10 | * |
11 | 11 | * Version History |
12 | 12 | * --------------- |
... | ... | @@ -249,6 +249,23 @@ |
249 | 249 | * Added OwnerDevHandle and Flags field to SAS PHY Page 0. |
250 | 250 | * Added IOC GPIO Flags define to SAS Enclosure Page 0. |
251 | 251 | * Fixed the value for MPI_SAS_IOUNIT1_CONTROL_DEV_SATA_SUPPORT. |
252 | + * 08-03-05 01.05.10 Removed ISDataScrubRate and ISResyncRate from | |
253 | + * Manufacturing Page 4. | |
254 | + * Added MPI_IOUNITPAGE1_SATA_WRITE_CACHE_DISABLE bit. | |
255 | + * Added NumDevsPerEnclosure field to SAS IO Unit page 2. | |
256 | + * Added MPI_SAS_IOUNIT2_FLAGS_HOST_ASSIGNED_PHYS_MAP | |
257 | + * define. | |
258 | + * Added EnclosureHandle field to SAS Expander page 0. | |
259 | + * Removed redundant NumTableEntriesProg field from SAS | |
260 | + * Expander Page 1. | |
261 | + * 08-30-05 01.05.11 Added DeviceID for FC949E and changed the DeviceID for | |
262 | + * SAS1078. | |
263 | + * Added more defines for Manufacturing Page 4 Flags field. | |
264 | + * Added more defines for IOCSettings and added | |
265 | + * ExpanderSpinup field to Bios Page 1. | |
266 | + * Added postpone SATA Init bit to SAS IO Unit Page 1 | |
267 | + * ControlFlags. | |
268 | + * Changed LogEntry format for Log Page 0. | |
252 | 269 | * -------------------------------------------------------------------------- |
253 | 270 | */ |
254 | 271 | |
... | ... | @@ -494,7 +511,7 @@ |
494 | 511 | #define MPI_MANUFACTPAGE_DEVICEID_FC929X (0x0626) |
495 | 512 | #define MPI_MANUFACTPAGE_DEVICEID_FC939X (0x0642) |
496 | 513 | #define MPI_MANUFACTPAGE_DEVICEID_FC949X (0x0640) |
497 | -#define MPI_MANUFACTPAGE_DEVICEID_FC949ES (0x0646) | |
514 | +#define MPI_MANUFACTPAGE_DEVICEID_FC949E (0x0646) | |
498 | 515 | /* SCSI */ |
499 | 516 | #define MPI_MANUFACTPAGE_DEVID_53C1030 (0x0030) |
500 | 517 | #define MPI_MANUFACTPAGE_DEVID_53C1030ZC (0x0031) |
... | ... | @@ -510,7 +527,7 @@ |
510 | 527 | #define MPI_MANUFACTPAGE_DEVID_SAS1066E (0x005A) |
511 | 528 | #define MPI_MANUFACTPAGE_DEVID_SAS1068 (0x0054) |
512 | 529 | #define MPI_MANUFACTPAGE_DEVID_SAS1068E (0x0058) |
513 | -#define MPI_MANUFACTPAGE_DEVID_SAS1078 (0x0060) | |
530 | +#define MPI_MANUFACTPAGE_DEVID_SAS1078 (0x0062) | |
514 | 531 | |
515 | 532 | |
516 | 533 | typedef struct _CONFIG_PAGE_MANUFACTURING_0 |
... | ... | @@ -602,9 +619,7 @@ |
602 | 619 | U32 IMVolumeSettings; /* 50h */ |
603 | 620 | U32 Reserved3; /* 54h */ |
604 | 621 | U32 Reserved4; /* 58h */ |
605 | - U8 ISDataScrubRate; /* 5Ch */ | |
606 | - U8 ISResyncRate; /* 5Dh */ | |
607 | - U16 Reserved5; /* 5Eh */ | |
622 | + U32 Reserved5; /* 5Ch */ | |
608 | 623 | U8 IMEDataScrubRate; /* 60h */ |
609 | 624 | U8 IMEResyncRate; /* 61h */ |
610 | 625 | U16 Reserved6; /* 62h */ |
611 | 626 | |
... | ... | @@ -616,9 +631,14 @@ |
616 | 631 | } CONFIG_PAGE_MANUFACTURING_4, MPI_POINTER PTR_CONFIG_PAGE_MANUFACTURING_4, |
617 | 632 | ManufacturingPage4_t, MPI_POINTER pManufacturingPage4_t; |
618 | 633 | |
619 | -#define MPI_MANUFACTURING4_PAGEVERSION (0x02) | |
634 | +#define MPI_MANUFACTURING4_PAGEVERSION (0x03) | |
620 | 635 | |
621 | 636 | /* defines for the Flags field */ |
637 | +#define MPI_MANPAGE4_IME_DISABLE (0x20) | |
638 | +#define MPI_MANPAGE4_IM_DISABLE (0x10) | |
639 | +#define MPI_MANPAGE4_IS_DISABLE (0x08) | |
640 | +#define MPI_MANPAGE4_IR_MODEPAGE8_DISABLE (0x04) | |
641 | +#define MPI_MANPAGE4_IM_RESYNC_CACHE_ENABLE (0x02) | |
622 | 642 | #define MPI_MANPAGE4_IR_NO_MIX_SAS_SATA (0x01) |
623 | 643 | |
624 | 644 | |
... | ... | @@ -669,7 +689,7 @@ |
669 | 689 | } CONFIG_PAGE_IO_UNIT_1, MPI_POINTER PTR_CONFIG_PAGE_IO_UNIT_1, |
670 | 690 | IOUnitPage1_t, MPI_POINTER pIOUnitPage1_t; |
671 | 691 | |
672 | -#define MPI_IOUNITPAGE1_PAGEVERSION (0x01) | |
692 | +#define MPI_IOUNITPAGE1_PAGEVERSION (0x02) | |
673 | 693 | |
674 | 694 | /* IO Unit Page 1 Flags defines */ |
675 | 695 | #define MPI_IOUNITPAGE1_MULTI_FUNCTION (0x00000000) |
676 | 696 | |
... | ... | @@ -681,8 +701,8 @@ |
681 | 701 | #define MPI_IOUNITPAGE1_DISABLE_IR (0x00000040) |
682 | 702 | #define MPI_IOUNITPAGE1_FORCE_32 (0x00000080) |
683 | 703 | #define MPI_IOUNITPAGE1_NATIVE_COMMAND_Q_DISABLE (0x00000100) |
704 | +#define MPI_IOUNITPAGE1_SATA_WRITE_CACHE_DISABLE (0x00000200) | |
684 | 705 | |
685 | - | |
686 | 706 | typedef struct _MPI_ADAPTER_INFO |
687 | 707 | { |
688 | 708 | U8 PciBusNumber; /* 00h */ |
... | ... | @@ -968,7 +988,8 @@ |
968 | 988 | U32 Reserved1; /* 0Ch */ |
969 | 989 | U32 DeviceSettings; /* 10h */ |
970 | 990 | U16 NumberOfDevices; /* 14h */ |
971 | - U16 Reserved2; /* 16h */ | |
991 | + U8 ExpanderSpinup; /* 16h */ | |
992 | + U8 Reserved2; /* 17h */ | |
972 | 993 | U16 IOTimeoutBlockDevicesNonRM; /* 18h */ |
973 | 994 | U16 IOTimeoutSequential; /* 1Ah */ |
974 | 995 | U16 IOTimeoutOther; /* 1Ch */ |
... | ... | @@ -976,7 +997,7 @@ |
976 | 997 | } CONFIG_PAGE_BIOS_1, MPI_POINTER PTR_CONFIG_PAGE_BIOS_1, |
977 | 998 | BIOSPage1_t, MPI_POINTER pBIOSPage1_t; |
978 | 999 | |
979 | -#define MPI_BIOSPAGE1_PAGEVERSION (0x02) | |
1000 | +#define MPI_BIOSPAGE1_PAGEVERSION (0x03) | |
980 | 1001 | |
981 | 1002 | /* values for the BiosOptions field */ |
982 | 1003 | #define MPI_BIOSPAGE1_OPTIONS_SPI_ENABLE (0x00000400) |
983 | 1004 | |
... | ... | @@ -985,8 +1006,15 @@ |
985 | 1006 | #define MPI_BIOSPAGE1_OPTIONS_DISABLE_BIOS (0x00000001) |
986 | 1007 | |
987 | 1008 | /* values for the IOCSettings field */ |
1009 | +#define MPI_BIOSPAGE1_IOCSET_MASK_INITIAL_SPINUP_DELAY (0x0F000000) | |
1010 | +#define MPI_BIOSPAGE1_IOCSET_SHIFT_INITIAL_SPINUP_DELAY (24) | |
1011 | + | |
988 | 1012 | #define MPI_BIOSPAGE1_IOCSET_MASK_PORT_ENABLE_DELAY (0x00F00000) |
989 | 1013 | #define MPI_BIOSPAGE1_IOCSET_SHIFT_PORT_ENABLE_DELAY (20) |
1014 | + | |
1015 | +#define MPI_BIOSPAGE1_IOCSET_AUTO_PORT_ENABLE (0x00080000) | |
1016 | +#define MPI_BIOSPAGE1_IOCSET_DIRECT_ATTACH_SPINUP_MODE (0x00040000) | |
1017 | + | |
990 | 1018 | #define MPI_BIOSPAGE1_IOCSET_MASK_BOOT_PREFERENCE (0x00030000) |
991 | 1019 | #define MPI_BIOSPAGE1_IOCSET_ENCLOSURE_SLOT_BOOT (0x00000000) |
992 | 1020 | #define MPI_BIOSPAGE1_IOCSET_SAS_ADDRESS_BOOT (0x00010000) |
... | ... | @@ -1016,6 +1044,11 @@ |
1016 | 1044 | #define MPI_BIOSPAGE1_DEVSET_DISABLE_NON_RM_LUN (0x00000002) |
1017 | 1045 | #define MPI_BIOSPAGE1_DEVSET_DISABLE_OTHER_LUN (0x00000001) |
1018 | 1046 | |
1047 | +/* defines for the ExpanderSpinup field */ | |
1048 | +#define MPI_BIOSPAGE1_EXPSPINUP_MASK_MAX_TARGET (0xF0) | |
1049 | +#define MPI_BIOSPAGE1_EXPSPINUP_SHIFT_MAX_TARGET (4) | |
1050 | +#define MPI_BIOSPAGE1_EXPSPINUP_MASK_DELAY (0x0F) | |
1051 | + | |
1019 | 1052 | typedef struct _MPI_BOOT_DEVICE_ADAPTER_ORDER |
1020 | 1053 | { |
1021 | 1054 | U32 Reserved1; /* 00h */ |
1022 | 1055 | |
... | ... | @@ -1233,13 +1266,13 @@ |
1233 | 1266 | |
1234 | 1267 | #define MPI_SCSIPORTPAGE0_CAP_SHIFT_MIN_SYNC_PERIOD (8) |
1235 | 1268 | #define MPI_SCSIPORTPAGE0_CAP_GET_MIN_SYNC_PERIOD(Cap) \ |
1236 | - ( ((Cap) & MPI_SCSIPORTPAGE0_CAP_MASK_MIN_SYNC_PERIOD) \ | |
1269 | + ( ((Cap) & MPI_SCSIPORTPAGE0_CAP_MIN_SYNC_PERIOD_MASK) \ | |
1237 | 1270 | >> MPI_SCSIPORTPAGE0_CAP_SHIFT_MIN_SYNC_PERIOD \ |
1238 | 1271 | ) |
1239 | 1272 | #define MPI_SCSIPORTPAGE0_CAP_MAX_SYNC_OFFSET_MASK (0x00FF0000) |
1240 | 1273 | #define MPI_SCSIPORTPAGE0_CAP_SHIFT_MAX_SYNC_OFFSET (16) |
1241 | 1274 | #define MPI_SCSIPORTPAGE0_CAP_GET_MAX_SYNC_OFFSET(Cap) \ |
1242 | - ( ((Cap) & MPI_SCSIPORTPAGE0_CAP_MASK_MAX_SYNC_OFFSET) \ | |
1275 | + ( ((Cap) & MPI_SCSIPORTPAGE0_CAP_MAX_SYNC_OFFSET_MASK) \ | |
1243 | 1276 | >> MPI_SCSIPORTPAGE0_CAP_SHIFT_MAX_SYNC_OFFSET \ |
1244 | 1277 | ) |
1245 | 1278 | #define MPI_SCSIPORTPAGE0_CAP_IDP (0x08000000) |
1246 | 1279 | |
1247 | 1280 | |
1248 | 1281 | |
1249 | 1282 | |
1250 | 1283 | |
1251 | 1284 | |
... | ... | @@ -2370,47 +2403,48 @@ |
2370 | 2403 | } CONFIG_PAGE_SAS_IO_UNIT_1, MPI_POINTER PTR_CONFIG_PAGE_SAS_IO_UNIT_1, |
2371 | 2404 | SasIOUnitPage1_t, MPI_POINTER pSasIOUnitPage1_t; |
2372 | 2405 | |
2373 | -#define MPI_SASIOUNITPAGE1_PAGEVERSION (0x04) | |
2406 | +#define MPI_SASIOUNITPAGE1_PAGEVERSION (0x05) | |
2374 | 2407 | |
2375 | 2408 | /* values for SAS IO Unit Page 1 ControlFlags */ |
2376 | -#define MPI_SAS_IOUNIT1_CONTROL_DEVICE_SELF_TEST (0x8000) | |
2377 | -#define MPI_SAS_IOUNIT1_CONTROL_SATA_3_0_MAX (0x4000) | |
2378 | -#define MPI_SAS_IOUNIT1_CONTROL_SATA_1_5_MAX (0x2000) | |
2379 | -#define MPI_SAS_IOUNIT1_CONTROL_SATA_SW_PRESERVE (0x1000) | |
2380 | -#define MPI_SAS_IOUNIT1_CONTROL_DISABLE_SAS_HASH (0x0800) | |
2409 | +#define MPI_SAS_IOUNIT1_CONTROL_DEVICE_SELF_TEST (0x8000) | |
2410 | +#define MPI_SAS_IOUNIT1_CONTROL_SATA_3_0_MAX (0x4000) | |
2411 | +#define MPI_SAS_IOUNIT1_CONTROL_SATA_1_5_MAX (0x2000) | |
2412 | +#define MPI_SAS_IOUNIT1_CONTROL_SATA_SW_PRESERVE (0x1000) | |
2413 | +#define MPI_SAS_IOUNIT1_CONTROL_DISABLE_SAS_HASH (0x0800) | |
2381 | 2414 | |
2382 | -#define MPI_SAS_IOUNIT1_CONTROL_MASK_DEV_SUPPORT (0x0600) | |
2383 | -#define MPI_SAS_IOUNIT1_CONTROL_SHIFT_DEV_SUPPORT (9) | |
2384 | -#define MPI_SAS_IOUNIT1_CONTROL_DEV_SUPPORT_BOTH (0x00) | |
2385 | -#define MPI_SAS_IOUNIT1_CONTROL_DEV_SAS_SUPPORT (0x01) | |
2386 | -#define MPI_SAS_IOUNIT1_CONTROL_DEV_SATA_SUPPORT (0x02) | |
2415 | +#define MPI_SAS_IOUNIT1_CONTROL_MASK_DEV_SUPPORT (0x0600) | |
2416 | +#define MPI_SAS_IOUNIT1_CONTROL_SHIFT_DEV_SUPPORT (9) | |
2417 | +#define MPI_SAS_IOUNIT1_CONTROL_DEV_SUPPORT_BOTH (0x00) | |
2418 | +#define MPI_SAS_IOUNIT1_CONTROL_DEV_SAS_SUPPORT (0x01) | |
2419 | +#define MPI_SAS_IOUNIT1_CONTROL_DEV_SATA_SUPPORT (0x02) | |
2387 | 2420 | |
2388 | -#define MPI_SAS_IOUNIT1_CONTROL_SATA_48BIT_LBA_REQUIRED (0x0080) | |
2389 | -#define MPI_SAS_IOUNIT1_CONTROL_SATA_SMART_REQUIRED (0x0040) | |
2390 | -#define MPI_SAS_IOUNIT1_CONTROL_SATA_NCQ_REQUIRED (0x0020) | |
2391 | -#define MPI_SAS_IOUNIT1_CONTROL_SATA_FUA_REQUIRED (0x0010) | |
2392 | -#define MPI_SAS_IOUNIT1_CONTROL_PHY_ENABLE_ORDER_HIGH (0x0008) | |
2393 | -#define MPI_SAS_IOUNIT1_CONTROL_SUBTRACTIVE_ILLEGAL (0x0004) | |
2394 | -#define MPI_SAS_IOUNIT1_CONTROL_FIRST_LVL_DISC_ONLY (0x0002) | |
2395 | -#define MPI_SAS_IOUNIT1_CONTROL_CLEAR_AFFILIATION (0x0001) | |
2421 | +#define MPI_SAS_IOUNIT1_CONTROL_POSTPONE_SATA_INIT (0x0100) | |
2422 | +#define MPI_SAS_IOUNIT1_CONTROL_SATA_48BIT_LBA_REQUIRED (0x0080) | |
2423 | +#define MPI_SAS_IOUNIT1_CONTROL_SATA_SMART_REQUIRED (0x0040) | |
2424 | +#define MPI_SAS_IOUNIT1_CONTROL_SATA_NCQ_REQUIRED (0x0020) | |
2425 | +#define MPI_SAS_IOUNIT1_CONTROL_SATA_FUA_REQUIRED (0x0010) | |
2426 | +#define MPI_SAS_IOUNIT1_CONTROL_PHY_ENABLE_ORDER_HIGH (0x0008) | |
2427 | +#define MPI_SAS_IOUNIT1_CONTROL_SUBTRACTIVE_ILLEGAL (0x0004) | |
2428 | +#define MPI_SAS_IOUNIT1_CONTROL_FIRST_LVL_DISC_ONLY (0x0002) | |
2429 | +#define MPI_SAS_IOUNIT1_CONTROL_CLEAR_AFFILIATION (0x0001) | |
2396 | 2430 | |
2397 | 2431 | /* values for SAS IO Unit Page 1 PortFlags */ |
2398 | -#define MPI_SAS_IOUNIT1_PORT_FLAGS_0_TARGET_IOC_NUM (0x00) | |
2399 | -#define MPI_SAS_IOUNIT1_PORT_FLAGS_1_TARGET_IOC_NUM (0x04) | |
2400 | -#define MPI_SAS_IOUNIT1_PORT_FLAGS_AUTO_PORT_CONFIG (0x01) | |
2432 | +#define MPI_SAS_IOUNIT1_PORT_FLAGS_0_TARGET_IOC_NUM (0x00) | |
2433 | +#define MPI_SAS_IOUNIT1_PORT_FLAGS_1_TARGET_IOC_NUM (0x04) | |
2434 | +#define MPI_SAS_IOUNIT1_PORT_FLAGS_AUTO_PORT_CONFIG (0x01) | |
2401 | 2435 | |
2402 | 2436 | /* values for SAS IO Unit Page 0 PhyFlags */ |
2403 | -#define MPI_SAS_IOUNIT1_PHY_FLAGS_PHY_DISABLE (0x04) | |
2404 | -#define MPI_SAS_IOUNIT1_PHY_FLAGS_TX_INVERT (0x02) | |
2405 | -#define MPI_SAS_IOUNIT1_PHY_FLAGS_RX_INVERT (0x01) | |
2437 | +#define MPI_SAS_IOUNIT1_PHY_FLAGS_PHY_DISABLE (0x04) | |
2438 | +#define MPI_SAS_IOUNIT1_PHY_FLAGS_TX_INVERT (0x02) | |
2439 | +#define MPI_SAS_IOUNIT1_PHY_FLAGS_RX_INVERT (0x01) | |
2406 | 2440 | |
2407 | 2441 | /* values for SAS IO Unit Page 0 MaxMinLinkRate */ |
2408 | -#define MPI_SAS_IOUNIT1_MAX_RATE_MASK (0xF0) | |
2409 | -#define MPI_SAS_IOUNIT1_MAX_RATE_1_5 (0x80) | |
2410 | -#define MPI_SAS_IOUNIT1_MAX_RATE_3_0 (0x90) | |
2411 | -#define MPI_SAS_IOUNIT1_MIN_RATE_MASK (0x0F) | |
2412 | -#define MPI_SAS_IOUNIT1_MIN_RATE_1_5 (0x08) | |
2413 | -#define MPI_SAS_IOUNIT1_MIN_RATE_3_0 (0x09) | |
2442 | +#define MPI_SAS_IOUNIT1_MAX_RATE_MASK (0xF0) | |
2443 | +#define MPI_SAS_IOUNIT1_MAX_RATE_1_5 (0x80) | |
2444 | +#define MPI_SAS_IOUNIT1_MAX_RATE_3_0 (0x90) | |
2445 | +#define MPI_SAS_IOUNIT1_MIN_RATE_MASK (0x0F) | |
2446 | +#define MPI_SAS_IOUNIT1_MIN_RATE_1_5 (0x08) | |
2447 | +#define MPI_SAS_IOUNIT1_MIN_RATE_3_0 (0x09) | |
2414 | 2448 | |
2415 | 2449 | /* see mpi_sas.h for values for SAS IO Unit Page 1 ControllerPhyDeviceInfo values */ |
2416 | 2450 | |
2417 | 2451 | |
2418 | 2452 | |
... | ... | @@ -2418,16 +2452,18 @@ |
2418 | 2452 | typedef struct _CONFIG_PAGE_SAS_IO_UNIT_2 |
2419 | 2453 | { |
2420 | 2454 | CONFIG_EXTENDED_PAGE_HEADER Header; /* 00h */ |
2421 | - U32 Reserved1; /* 08h */ | |
2455 | + U8 NumDevsPerEnclosure; /* 08h */ | |
2456 | + U8 Reserved1; /* 09h */ | |
2457 | + U16 Reserved2; /* 0Ah */ | |
2422 | 2458 | U16 MaxPersistentIDs; /* 0Ch */ |
2423 | 2459 | U16 NumPersistentIDsUsed; /* 0Eh */ |
2424 | 2460 | U8 Status; /* 10h */ |
2425 | 2461 | U8 Flags; /* 11h */ |
2426 | - U16 MaxNumPhysicalMappedIDs;/* 12h */ /* 12h */ | |
2462 | + U16 MaxNumPhysicalMappedIDs;/* 12h */ | |
2427 | 2463 | } CONFIG_PAGE_SAS_IO_UNIT_2, MPI_POINTER PTR_CONFIG_PAGE_SAS_IO_UNIT_2, |
2428 | 2464 | SasIOUnitPage2_t, MPI_POINTER pSasIOUnitPage2_t; |
2429 | 2465 | |
2430 | -#define MPI_SASIOUNITPAGE2_PAGEVERSION (0x04) | |
2466 | +#define MPI_SASIOUNITPAGE2_PAGEVERSION (0x05) | |
2431 | 2467 | |
2432 | 2468 | /* values for SAS IO Unit Page 2 Status field */ |
2433 | 2469 | #define MPI_SAS_IOUNIT2_STATUS_DISABLED_PERSISTENT_MAPPINGS (0x02) |
... | ... | @@ -2441,6 +2477,7 @@ |
2441 | 2477 | #define MPI_SAS_IOUNIT2_FLAGS_NO_PHYS_MAP (0x00) |
2442 | 2478 | #define MPI_SAS_IOUNIT2_FLAGS_DIRECT_ATTACH_PHYS_MAP (0x01) |
2443 | 2479 | #define MPI_SAS_IOUNIT2_FLAGS_ENCLOSURE_SLOT_PHYS_MAP (0x02) |
2480 | +#define MPI_SAS_IOUNIT2_FLAGS_HOST_ASSIGNED_PHYS_MAP (0x07) | |
2444 | 2481 | |
2445 | 2482 | #define MPI_SAS_IOUNIT2_FLAGS_RESERVE_ID_0_FOR_BOOT (0x10) |
2446 | 2483 | #define MPI_SAS_IOUNIT2_FLAGS_DA_STARTING_SLOT (0x20) |
... | ... | @@ -2473,7 +2510,7 @@ |
2473 | 2510 | CONFIG_EXTENDED_PAGE_HEADER Header; /* 00h */ |
2474 | 2511 | U8 PhysicalPort; /* 08h */ |
2475 | 2512 | U8 Reserved1; /* 09h */ |
2476 | - U16 Reserved2; /* 0Ah */ | |
2513 | + U16 EnclosureHandle; /* 0Ah */ | |
2477 | 2514 | U64 SASAddress; /* 0Ch */ |
2478 | 2515 | U32 DiscoveryStatus; /* 14h */ |
2479 | 2516 | U16 DevHandle; /* 18h */ |
... | ... | @@ -2487,7 +2524,7 @@ |
2487 | 2524 | } CONFIG_PAGE_SAS_EXPANDER_0, MPI_POINTER PTR_CONFIG_PAGE_SAS_EXPANDER_0, |
2488 | 2525 | SasExpanderPage0_t, MPI_POINTER pSasExpanderPage0_t; |
2489 | 2526 | |
2490 | -#define MPI_SASEXPANDER0_PAGEVERSION (0x02) | |
2527 | +#define MPI_SASEXPANDER0_PAGEVERSION (0x03) | |
2491 | 2528 | |
2492 | 2529 | /* values for SAS Expander Page 0 DiscoveryStatus field */ |
2493 | 2530 | #define MPI_SAS_EXPANDER0_DS_LOOP_DETECTED (0x00000001) |
2494 | 2531 | |
... | ... | @@ -2527,9 +2564,9 @@ |
2527 | 2564 | U8 NegotiatedLinkRate; /* 1Fh */ |
2528 | 2565 | U8 PhyIdentifier; /* 20h */ |
2529 | 2566 | U8 AttachedPhyIdentifier; /* 21h */ |
2530 | - U8 NumTableEntriesProg; /* 22h */ | |
2567 | + U8 Reserved3; /* 22h */ | |
2531 | 2568 | U8 DiscoveryInfo; /* 23h */ |
2532 | - U32 Reserved3; /* 24h */ | |
2569 | + U32 Reserved4; /* 24h */ | |
2533 | 2570 | } CONFIG_PAGE_SAS_EXPANDER_1, MPI_POINTER PTR_CONFIG_PAGE_SAS_EXPANDER_1, |
2534 | 2571 | SasExpanderPage1_t, MPI_POINTER pSasExpanderPage1_t; |
2535 | 2572 | |
2536 | 2573 | |
... | ... | @@ -2766,16 +2803,15 @@ |
2766 | 2803 | #define MPI_LOG_0_NUM_LOG_ENTRIES (1) |
2767 | 2804 | #endif |
2768 | 2805 | |
2769 | -#define MPI_LOG_0_LOG_DATA_LENGTH (20) | |
2806 | +#define MPI_LOG_0_LOG_DATA_LENGTH (0x1C) | |
2770 | 2807 | |
2771 | 2808 | typedef struct _MPI_LOG_0_ENTRY |
2772 | 2809 | { |
2773 | - U64 WWID; /* 00h */ | |
2774 | - U32 TimeStamp; /* 08h */ | |
2775 | - U32 Reserved1; /* 0Ch */ | |
2776 | - U16 LogSequence; /* 10h */ | |
2777 | - U16 LogEntryQualifier; /* 12h */ | |
2778 | - U8 LogData[MPI_LOG_0_LOG_DATA_LENGTH]; /* 14h */ | |
2810 | + U32 TimeStamp; /* 00h */ | |
2811 | + U32 Reserved1; /* 04h */ | |
2812 | + U16 LogSequence; /* 08h */ | |
2813 | + U16 LogEntryQualifier; /* 0Ah */ | |
2814 | + U8 LogData[MPI_LOG_0_LOG_DATA_LENGTH]; /* 0Ch */ | |
2779 | 2815 | } MPI_LOG_0_ENTRY, MPI_POINTER PTR_MPI_LOG_0_ENTRY, |
2780 | 2816 | MpiLog0Entry_t, MPI_POINTER pMpiLog0Entry_t; |
2781 | 2817 | |
... | ... | @@ -2794,7 +2830,7 @@ |
2794 | 2830 | } CONFIG_PAGE_LOG_0, MPI_POINTER PTR_CONFIG_PAGE_LOG_0, |
2795 | 2831 | LogPage0_t, MPI_POINTER pLogPage0_t; |
2796 | 2832 | |
2797 | -#define MPI_LOG_0_PAGEVERSION (0x00) | |
2833 | +#define MPI_LOG_0_PAGEVERSION (0x01) | |
2798 | 2834 | |
2799 | 2835 | |
2800 | 2836 | #endif |
drivers/message/fusion/lsi/mpi_history.txt
... | ... | @@ -6,25 +6,25 @@ |
6 | 6 | Copyright (c) 2000-2005 LSI Logic Corporation. |
7 | 7 | |
8 | 8 | --------------------------------------- |
9 | - Header Set Release Version: 01.05.10 | |
10 | - Header Set Release Date: 03-11-05 | |
9 | + Header Set Release Version: 01.05.12 | |
10 | + Header Set Release Date: 08-30-05 | |
11 | 11 | --------------------------------------- |
12 | 12 | |
13 | 13 | Filename Current version Prior version |
14 | 14 | ---------- --------------- ------------- |
15 | - mpi.h 01.05.08 01.05.07 | |
16 | - mpi_ioc.h 01.05.09 01.05.08 | |
17 | - mpi_cnfg.h 01.05.09 01.05.08 | |
18 | - mpi_init.h 01.05.05 01.05.04 | |
19 | - mpi_targ.h 01.05.05 01.05.04 | |
15 | + mpi.h 01.05.10 01.05.09 | |
16 | + mpi_ioc.h 01.05.10 01.05.09 | |
17 | + mpi_cnfg.h 01.05.11 01.05.10 | |
18 | + mpi_init.h 01.05.06 01.05.06 | |
19 | + mpi_targ.h 01.05.05 01.05.05 | |
20 | 20 | mpi_fc.h 01.05.01 01.05.01 |
21 | 21 | mpi_lan.h 01.05.01 01.05.01 |
22 | 22 | mpi_raid.h 01.05.02 01.05.02 |
23 | 23 | mpi_tool.h 01.05.03 01.05.03 |
24 | 24 | mpi_inb.h 01.05.01 01.05.01 |
25 | - mpi_sas.h 01.05.01 01.05.01 | |
26 | - mpi_type.h 01.05.01 01.05.01 | |
27 | - mpi_history.txt 01.05.09 01.05.09 | |
25 | + mpi_sas.h 01.05.02 01.05.01 | |
26 | + mpi_type.h 01.05.02 01.05.01 | |
27 | + mpi_history.txt 01.05.12 01.05.11 | |
28 | 28 | |
29 | 29 | |
30 | 30 | * Date Version Description |
... | ... | @@ -91,6 +91,8 @@ |
91 | 91 | * 06-24-05 01.05.08 Added function codes for SCSI IO 32 and |
92 | 92 | * TargetAssistExtended requests. |
93 | 93 | * Added EEDP IOCStatus codes. |
94 | + * 08-03-05 01.05.09 Bumped MPI_HEADER_VERSION_UNIT. | |
95 | + * 08-30-05 01.05.10 Added 2 new IOCStatus codes for Target. | |
94 | 96 | * -------------------------------------------------------------------------- |
95 | 97 | |
96 | 98 | mpi_ioc.h |
... | ... | @@ -164,6 +166,10 @@ |
164 | 166 | * Removed IOCFacts Reply EEDP Capability bit. |
165 | 167 | * 06-24-05 01.05.09 Added 5 new IOCFacts Reply IOCCapabilities bits. |
166 | 168 | * Added Max SATA Targets to SAS Discovery Error event. |
169 | + * 08-30-05 01.05.10 Added 4 new events and their event data structures. | |
170 | + * Added new ReasonCode value for SAS Device Status Change | |
171 | + * event. | |
172 | + * Added new family code for FC949E. | |
167 | 173 | * -------------------------------------------------------------------------- |
168 | 174 | |
169 | 175 | mpi_cnfg.h |
... | ... | @@ -402,6 +408,23 @@ |
402 | 408 | * Added OwnerDevHandle and Flags field to SAS PHY Page 0. |
403 | 409 | * Added IOC GPIO Flags define to SAS Enclosure Page 0. |
404 | 410 | * Fixed the value for MPI_SAS_IOUNIT1_CONTROL_DEV_SATA_SUPPORT. |
411 | + * 08-03-05 01.05.10 Removed ISDataScrubRate and ISResyncRate from | |
412 | + * Manufacturing Page 4. | |
413 | + * Added MPI_IOUNITPAGE1_SATA_WRITE_CACHE_DISABLE bit. | |
414 | + * Added NumDevsPerEnclosure field to SAS IO Unit page 2. | |
415 | + * Added MPI_SAS_IOUNIT2_FLAGS_HOST_ASSIGNED_PHYS_MAP | |
416 | + * define. | |
417 | + * Added EnclosureHandle field to SAS Expander page 0. | |
418 | + * Removed redundant NumTableEntriesProg field from SAS | |
419 | + * Expander Page 1. | |
420 | + * 08-30-05 01.05.11 Added DeviceID for FC949E and changed the DeviceID for | |
421 | + * SAS1078. | |
422 | + * Added more defines for Manufacturing Page 4 Flags field. | |
423 | + * Added more defines for IOCSettings and added | |
424 | + * ExpanderSpinup field to Bios Page 1. | |
425 | + * Added postpone SATA Init bit to SAS IO Unit Page 1 | |
426 | + * ControlFlags. | |
427 | + * Changed LogEntry format for Log Page 0. | |
405 | 428 | * -------------------------------------------------------------------------- |
406 | 429 | |
407 | 430 | mpi_init.h |
... | ... | @@ -442,6 +465,8 @@ |
442 | 465 | * addressing. |
443 | 466 | * 06-24-05 01.05.05 Added SCSI IO 32 structures and defines. |
444 | 467 | * Added four new defines for SEP SlotStatus. |
468 | + * 08-03-05 01.05.06 Fixed some MPI_SCSIIO32_MSGFLGS_ defines to make them | |
469 | + * unique in the first 32 characters. | |
445 | 470 | * -------------------------------------------------------------------------- |
446 | 471 | |
447 | 472 | mpi_targ.h |
... | ... | @@ -582,6 +607,9 @@ |
582 | 607 | |
583 | 608 | mpi_sas.h |
584 | 609 | * 08-19-04 01.05.01 Original release. |
610 | + * 08-30-05 01.05.02 Added DeviceInfo bit for SEP. | |
611 | + * Added PrimFlags and Primitive field to SAS IO Unit | |
612 | + * Control request, and added a new operation code. | |
585 | 613 | * -------------------------------------------------------------------------- |
586 | 614 | |
587 | 615 | mpi_type.h |
588 | 616 | |
... | ... | @@ -592,24 +620,25 @@ |
592 | 620 | * 08-08-01 01.02.01 Original release for v1.2 work. |
593 | 621 | * 05-11-04 01.03.01 Original release for MPI v1.3. |
594 | 622 | * 08-19-04 01.05.01 Original release for MPI v1.5. |
623 | + * 08-30-05 01.05.02 Added PowerPC option to #ifdef's. | |
595 | 624 | * -------------------------------------------------------------------------- |
596 | 625 | |
597 | 626 | mpi_history.txt Parts list history |
598 | 627 | |
599 | -Filename 01.05.10 01.05.09 | |
600 | ----------- -------- -------- | |
601 | -mpi.h 01.05.08 01.05.07 | |
602 | -mpi_ioc.h 01.05.09 01.05.08 | |
603 | -mpi_cnfg.h 01.05.09 01.05.08 | |
604 | -mpi_init.h 01.05.05 01.05.04 | |
605 | -mpi_targ.h 01.05.05 01.05.04 | |
606 | -mpi_fc.h 01.05.01 01.05.01 | |
607 | -mpi_lan.h 01.05.01 01.05.01 | |
608 | -mpi_raid.h 01.05.02 01.05.02 | |
609 | -mpi_tool.h 01.05.03 01.05.03 | |
610 | -mpi_inb.h 01.05.01 01.05.01 | |
611 | -mpi_sas.h 01.05.01 01.05.01 | |
612 | -mpi_type.h 01.05.01 01.05.01 | |
628 | +Filename 01.05.12 01.05.11 01.05.10 01.05.09 | |
629 | +---------- -------- -------- -------- -------- | |
630 | +mpi.h 01.05.10 01.05.09 01.05.08 01.05.07 | |
631 | +mpi_ioc.h 01.05.10 01.05.09 01.05.09 01.05.08 | |
632 | +mpi_cnfg.h 01.05.11 01.05.10 01.05.09 01.05.08 | |
633 | +mpi_init.h 01.05.06 01.05.06 01.05.05 01.05.04 | |
634 | +mpi_targ.h 01.05.05 01.05.05 01.05.05 01.05.04 | |
635 | +mpi_fc.h 01.05.01 01.05.01 01.05.01 01.05.01 | |
636 | +mpi_lan.h 01.05.01 01.05.01 01.05.01 01.05.01 | |
637 | +mpi_raid.h 01.05.02 01.05.02 01.05.02 01.05.02 | |
638 | +mpi_tool.h 01.05.03 01.05.03 01.05.03 01.05.03 | |
639 | +mpi_inb.h 01.05.01 01.05.01 01.05.01 01.05.01 | |
640 | +mpi_sas.h 01.05.02 01.05.01 01.05.01 01.05.01 | |
641 | +mpi_type.h 01.05.02 01.05.01 01.05.01 01.05.01 | |
613 | 642 | |
614 | 643 | Filename 01.05.08 01.05.07 01.05.06 01.05.05 01.05.04 01.05.03 |
615 | 644 | ---------- -------- -------- -------- -------- -------- -------- |
drivers/message/fusion/lsi/mpi_init.h
... | ... | @@ -6,7 +6,7 @@ |
6 | 6 | * Title: MPI initiator mode messages and structures |
7 | 7 | * Creation Date: June 8, 2000 |
8 | 8 | * |
9 | - * mpi_init.h Version: 01.05.05 | |
9 | + * mpi_init.h Version: 01.05.06 | |
10 | 10 | * |
11 | 11 | * Version History |
12 | 12 | * --------------- |
... | ... | @@ -50,6 +50,8 @@ |
50 | 50 | * addressing. |
51 | 51 | * 06-24-05 01.05.05 Added SCSI IO 32 structures and defines. |
52 | 52 | * Added four new defines for SEP SlotStatus. |
53 | + * 08-03-05 01.05.06 Fixed some MPI_SCSIIO32_MSGFLGS_ defines to make them | |
54 | + * unique in the first 32 characters. | |
53 | 55 | * -------------------------------------------------------------------------- |
54 | 56 | */ |
55 | 57 | |
... | ... | @@ -290,8 +292,8 @@ |
290 | 292 | |
291 | 293 | /* SCSI IO 32 MsgFlags bits */ |
292 | 294 | #define MPI_SCSIIO32_MSGFLGS_SENSE_WIDTH (0x01) |
293 | -#define MPI_SCSIIO32_MSGFLGS_SENSE_WIDTH_32 (0x00) | |
294 | -#define MPI_SCSIIO32_MSGFLGS_SENSE_WIDTH_64 (0x01) | |
295 | +#define MPI_SCSIIO32_MSGFLGS_32_SENSE_WIDTH (0x00) | |
296 | +#define MPI_SCSIIO32_MSGFLGS_64_SENSE_WIDTH (0x01) | |
295 | 297 | |
296 | 298 | #define MPI_SCSIIO32_MSGFLGS_SENSE_LOCATION (0x02) |
297 | 299 | #define MPI_SCSIIO32_MSGFLGS_SENSE_LOC_HOST (0x00) |
drivers/message/fusion/lsi/mpi_ioc.h
... | ... | @@ -6,7 +6,7 @@ |
6 | 6 | * Title: MPI IOC, Port, Event, FW Download, and FW Upload messages |
7 | 7 | * Creation Date: August 11, 2000 |
8 | 8 | * |
9 | - * mpi_ioc.h Version: 01.05.09 | |
9 | + * mpi_ioc.h Version: 01.05.10 | |
10 | 10 | * |
11 | 11 | * Version History |
12 | 12 | * --------------- |
... | ... | @@ -83,6 +83,10 @@ |
83 | 83 | * Removed IOCFacts Reply EEDP Capability bit. |
84 | 84 | * 06-24-05 01.05.09 Added 5 new IOCFacts Reply IOCCapabilities bits. |
85 | 85 | * Added Max SATA Targets to SAS Discovery Error event. |
86 | + * 08-30-05 01.05.10 Added 4 new events and their event data structures. | |
87 | + * Added new ReasonCode value for SAS Device Status Change | |
88 | + * event. | |
89 | + * Added new family code for FC949E. | |
86 | 90 | * -------------------------------------------------------------------------- |
87 | 91 | */ |
88 | 92 | |
... | ... | @@ -464,6 +468,10 @@ |
464 | 468 | #define MPI_EVENT_PERSISTENT_TABLE_FULL (0x00000011) |
465 | 469 | #define MPI_EVENT_SAS_PHY_LINK_STATUS (0x00000012) |
466 | 470 | #define MPI_EVENT_SAS_DISCOVERY_ERROR (0x00000013) |
471 | +#define MPI_EVENT_IR_RESYNC_UPDATE (0x00000014) | |
472 | +#define MPI_EVENT_IR2 (0x00000015) | |
473 | +#define MPI_EVENT_SAS_DISCOVERY (0x00000016) | |
474 | +#define MPI_EVENT_LOG_ENTRY_ADDED (0x00000021) | |
467 | 475 | |
468 | 476 | /* AckRequired field values */ |
469 | 477 | |
... | ... | @@ -480,6 +488,29 @@ |
480 | 488 | } EVENT_DATA_EVENT_CHANGE, MPI_POINTER PTR_EVENT_DATA_EVENT_CHANGE, |
481 | 489 | EventDataEventChange_t, MPI_POINTER pEventDataEventChange_t; |
482 | 490 | |
491 | +/* LogEntryAdded Event data */ | |
492 | + | |
493 | +/* this structure matches MPI_LOG_0_ENTRY in mpi_cnfg.h */ | |
494 | +#define MPI_EVENT_DATA_LOG_ENTRY_DATA_LENGTH (0x1C) | |
495 | +typedef struct _EVENT_DATA_LOG_ENTRY | |
496 | +{ | |
497 | + U32 TimeStamp; /* 00h */ | |
498 | + U32 Reserved1; /* 04h */ | |
499 | + U16 LogSequence; /* 08h */ | |
500 | + U16 LogEntryQualifier; /* 0Ah */ | |
501 | + U8 LogData[MPI_EVENT_DATA_LOG_ENTRY_DATA_LENGTH]; /* 0Ch */ | |
502 | +} EVENT_DATA_LOG_ENTRY, MPI_POINTER PTR_EVENT_DATA_LOG_ENTRY, | |
503 | + MpiEventDataLogEntry_t, MPI_POINTER pMpiEventDataLogEntry_t; | |
504 | + | |
505 | +typedef struct _EVENT_DATA_LOG_ENTRY_ADDED | |
506 | +{ | |
507 | + U16 LogSequence; /* 00h */ | |
508 | + U16 Reserved1; /* 02h */ | |
509 | + U32 Reserved2; /* 04h */ | |
510 | + EVENT_DATA_LOG_ENTRY LogEntry; /* 08h */ | |
511 | +} EVENT_DATA_LOG_ENTRY_ADDED, MPI_POINTER PTR_EVENT_DATA_LOG_ENTRY_ADDED, | |
512 | + MpiEventDataLogEntryAdded_t, MPI_POINTER pMpiEventDataLogEntryAdded_t; | |
513 | + | |
483 | 514 | /* SCSI Event data for Port, Bus and Device forms */ |
484 | 515 | |
485 | 516 | typedef struct _EVENT_DATA_SCSI |
... | ... | @@ -538,6 +569,7 @@ |
538 | 569 | #define MPI_EVENT_SAS_DEV_STAT_RC_SMART_DATA (0x05) |
539 | 570 | #define MPI_EVENT_SAS_DEV_STAT_RC_NO_PERSIST_ADDED (0x06) |
540 | 571 | #define MPI_EVENT_SAS_DEV_STAT_RC_UNSUPPORTED (0x07) |
572 | +#define MPI_EVENT_SAS_DEV_STAT_RC_INTERNAL_DEVICE_RESET (0x08) | |
541 | 573 | |
542 | 574 | |
543 | 575 | /* SCSI Event data for Queue Full event */ |
... | ... | @@ -579,6 +611,79 @@ |
579 | 611 | #define MPI_EVENT_RAID_RC_SMART_DATA (0x0A) |
580 | 612 | #define MPI_EVENT_RAID_RC_REPLACE_ACTION_STARTED (0x0B) |
581 | 613 | |
614 | + | |
615 | +/* MPI Integrated RAID Resync Update Event data */ | |
616 | + | |
617 | +typedef struct _MPI_EVENT_DATA_IR_RESYNC_UPDATE | |
618 | +{ | |
619 | + U8 VolumeID; /* 00h */ | |
620 | + U8 VolumeBus; /* 01h */ | |
621 | + U8 ResyncComplete; /* 02h */ | |
622 | + U8 Reserved1; /* 03h */ | |
623 | + U32 Reserved2; /* 04h */ | |
624 | +} MPI_EVENT_DATA_IR_RESYNC_UPDATE, | |
625 | + MPI_POINTER PTR_MPI_EVENT_DATA_IR_RESYNC_UPDATE, | |
626 | + MpiEventDataIrResyncUpdate_t, MPI_POINTER pMpiEventDataIrResyncUpdate_t; | |
627 | + | |
628 | +/* MPI IR2 Event data */ | |
629 | + | |
630 | +/* MPI_LD_STATE or MPI_PD_STATE */ | |
631 | +typedef struct _IR2_STATE_CHANGED | |
632 | +{ | |
633 | + U16 PreviousState; /* 00h */ | |
634 | + U16 NewState; /* 02h */ | |
635 | +} IR2_STATE_CHANGED, MPI_POINTER PTR_IR2_STATE_CHANGED; | |
636 | + | |
637 | +typedef struct _IR2_PD_INFO | |
638 | +{ | |
639 | + U16 DeviceHandle; /* 00h */ | |
640 | + U8 TruncEnclosureHandle; /* 02h */ | |
641 | + U8 TruncatedSlot; /* 03h */ | |
642 | +} IR2_PD_INFO, MPI_POINTER PTR_IR2_PD_INFO; | |
643 | + | |
644 | +typedef union _MPI_IR2_RC_EVENT_DATA | |
645 | +{ | |
646 | + IR2_STATE_CHANGED StateChanged; | |
647 | + U32 Lba; | |
648 | + IR2_PD_INFO PdInfo; | |
649 | +} MPI_IR2_RC_EVENT_DATA, MPI_POINTER PTR_MPI_IR2_RC_EVENT_DATA; | |
650 | + | |
651 | +typedef struct _MPI_EVENT_DATA_IR2 | |
652 | +{ | |
653 | + U8 TargetID; /* 00h */ | |
654 | + U8 Bus; /* 01h */ | |
655 | + U8 ReasonCode; /* 02h */ | |
656 | + U8 PhysDiskNum; /* 03h */ | |
657 | + MPI_IR2_RC_EVENT_DATA IR2EventData; /* 04h */ | |
658 | +} MPI_EVENT_DATA_IR2, MPI_POINTER PTR_MPI_EVENT_DATA_IR2, | |
659 | + MpiEventDataIR2_t, MPI_POINTER pMpiEventDataIR2_t; | |
660 | + | |
661 | +/* MPI IR2 Event data ReasonCode values */ | |
662 | +#define MPI_EVENT_IR2_RC_LD_STATE_CHANGED (0x01) | |
663 | +#define MPI_EVENT_IR2_RC_PD_STATE_CHANGED (0x02) | |
664 | +#define MPI_EVENT_IR2_RC_BAD_BLOCK_TABLE_FULL (0x03) | |
665 | +#define MPI_EVENT_IR2_RC_PD_INSERTED (0x04) | |
666 | +#define MPI_EVENT_IR2_RC_PD_REMOVED (0x05) | |
667 | +#define MPI_EVENT_IR2_RC_FOREIGN_CFG_DETECTED (0x06) | |
668 | +#define MPI_EVENT_IR2_RC_REBUILD_MEDIUM_ERROR (0x07) | |
669 | + | |
670 | +/* defines for logical disk states */ | |
671 | +#define MPI_LD_STATE_OPTIMAL (0x00) | |
672 | +#define MPI_LD_STATE_DEGRADED (0x01) | |
673 | +#define MPI_LD_STATE_FAILED (0x02) | |
674 | +#define MPI_LD_STATE_MISSING (0x03) | |
675 | +#define MPI_LD_STATE_OFFLINE (0x04) | |
676 | + | |
677 | +/* defines for physical disk states */ | |
678 | +#define MPI_PD_STATE_ONLINE (0x00) | |
679 | +#define MPI_PD_STATE_MISSING (0x01) | |
680 | +#define MPI_PD_STATE_NOT_COMPATIBLE (0x02) | |
681 | +#define MPI_PD_STATE_FAILED (0x03) | |
682 | +#define MPI_PD_STATE_INITIALIZING (0x04) | |
683 | +#define MPI_PD_STATE_OFFLINE_AT_HOST_REQUEST (0x05) | |
684 | +#define MPI_PD_STATE_FAILED_AT_HOST_REQUEST (0x06) | |
685 | +#define MPI_PD_STATE_OFFLINE_FOR_ANOTHER_REASON (0xFF) | |
686 | + | |
582 | 687 | /* MPI Link Status Change Event data */ |
583 | 688 | |
584 | 689 | typedef struct _EVENT_DATA_LINK_STATUS |
... | ... | @@ -660,6 +765,20 @@ |
660 | 765 | #define MPI_EVENT_SAS_PLS_LR_RATE_1_5 (0x08) |
661 | 766 | #define MPI_EVENT_SAS_PLS_LR_RATE_3_0 (0x09) |
662 | 767 | |
768 | +/* SAS Discovery Event data */ | |
769 | + | |
770 | +typedef struct _EVENT_DATA_SAS_DISCOVERY | |
771 | +{ | |
772 | + U32 DiscoveryStatus; /* 00h */ | |
773 | + U32 Reserved1; /* 04h */ | |
774 | +} EVENT_DATA_SAS_DISCOVERY, MPI_POINTER PTR_EVENT_DATA_SAS_DISCOVERY, | |
775 | + EventDataSasDiscovery_t, MPI_POINTER pEventDataSasDiscovery_t; | |
776 | + | |
777 | +#define MPI_EVENT_SAS_DSCVRY_COMPLETE (0x00000000) | |
778 | +#define MPI_EVENT_SAS_DSCVRY_IN_PROGRESS (0x00000001) | |
779 | +#define MPI_EVENT_SAS_DSCVRY_PHY_BITS_MASK (0xFFFF0000) | |
780 | +#define MPI_EVENT_SAS_DSCVRY_PHY_BITS_SHIFT (16) | |
781 | + | |
663 | 782 | /* SAS Discovery Errror Event data */ |
664 | 783 | |
665 | 784 | typedef struct _EVENT_DATA_DISCOVERY_ERROR |
... | ... | @@ -869,6 +988,7 @@ |
869 | 988 | #define MPI_FW_HEADER_PID_FAMILY_919XL_FC (0x0003) /* 919XL and 929XL */ |
870 | 989 | #define MPI_FW_HEADER_PID_FAMILY_939X_FC (0x0004) /* 939X and 949X */ |
871 | 990 | #define MPI_FW_HEADER_PID_FAMILY_959_FC (0x0005) |
991 | +#define MPI_FW_HEADER_PID_FAMILY_949E_FC (0x0006) | |
872 | 992 | /* SAS */ |
873 | 993 | #define MPI_FW_HEADER_PID_FAMILY_1064_SAS (0x0001) |
874 | 994 | #define MPI_FW_HEADER_PID_FAMILY_1068_SAS (0x0002) |
drivers/message/fusion/lsi/mpi_log_fc.h
1 | +/* | |
2 | + * Copyright (c) 2000-2001 LSI Logic Corporation. All rights reserved. | |
3 | + * | |
4 | + * NAME: fc_log.h | |
5 | + * SUMMARY: MPI IocLogInfo definitions for the SYMFC9xx chips | |
6 | + * DESCRIPTION: Contains the enumerated list of values that may be returned | |
7 | + * in the IOCLogInfo field of a MPI Default Reply Message. | |
8 | + * | |
9 | + * CREATION DATE: 6/02/2000 | |
10 | + * ID: $Id: fc_log.h,v 4.6 2001/07/26 14:41:33 sschremm Exp $ | |
11 | + */ | |
12 | + | |
13 | + | |
14 | +/* | |
15 | + * MpiIocLogInfo_t enum | |
16 | + * | |
17 | + * These 32 bit values are used in the IOCLogInfo field of the MPI reply | |
18 | + * messages. | |
19 | + * The value is 0xabcccccc where | |
20 | + * a = The type of log info as per the MPI spec. Since these codes are | |
21 | + * all for Fibre Channel this value will always be 2. | |
22 | + * b = Specifies a subclass of the firmware where | |
23 | + * 0 = FCP Initiator | |
24 | + * 1 = FCP Target | |
25 | + * 2 = LAN | |
26 | + * 3 = MPI Message Layer | |
27 | + * 4 = FC Link | |
28 | + * 5 = Context Manager | |
29 | + * 6 = Invalid Field Offset | |
30 | + * 7 = State Change Info | |
31 | + * all others are reserved for future use | |
32 | + * c = A specific value within the subclass. | |
33 | + * | |
34 | + * NOTE: Any new values should be added to the end of each subclass so that the | |
35 | + * codes remain consistent across firmware releases. | |
36 | + */ | |
37 | +typedef enum _MpiIocLogInfoFc | |
38 | +{ | |
39 | + MPI_IOCLOGINFO_FC_INIT_BASE = 0x20000000, | |
40 | + MPI_IOCLOGINFO_FC_INIT_ERROR_OUT_OF_ORDER_FRAME = 0x20000001, /* received an out of order frame - unsupported */ | |
41 | + MPI_IOCLOGINFO_FC_INIT_ERROR_BAD_START_OF_FRAME = 0x20000002, /* Bad Rx Frame, bad start of frame primative */ | |
42 | + MPI_IOCLOGINFO_FC_INIT_ERROR_BAD_END_OF_FRAME = 0x20000003, /* Bad Rx Frame, bad end of frame primative */ | |
43 | + MPI_IOCLOGINFO_FC_INIT_ERROR_OVER_RUN = 0x20000004, /* Bad Rx Frame, overrun */ | |
44 | + MPI_IOCLOGINFO_FC_INIT_ERROR_RX_OTHER = 0x20000005, /* Other errors caught by IOC which require retries */ | |
45 | + MPI_IOCLOGINFO_FC_INIT_ERROR_SUBPROC_DEAD = 0x20000006, /* Main processor could not initialize sub-processor */ | |
46 | + MPI_IOCLOGINFO_FC_INIT_ERROR_RX_OVERRUN = 0x20000007, /* Scatter Gather overrun */ | |
47 | + MPI_IOCLOGINFO_FC_INIT_ERROR_RX_BAD_STATUS = 0x20000008, /* Receiver detected context mismatch via invalid header */ | |
48 | + MPI_IOCLOGINFO_FC_INIT_ERROR_RX_UNEXPECTED_FRAME= 0x20000009, /* CtxMgr detected unsupported frame type */ | |
49 | + MPI_IOCLOGINFO_FC_INIT_ERROR_LINK_FAILURE = 0x2000000A, /* Link failure occurred */ | |
50 | + MPI_IOCLOGINFO_FC_INIT_ERROR_TX_TIMEOUT = 0x2000000B, /* Transmitter timeout error */ | |
51 | + | |
52 | + MPI_IOCLOGINFO_FC_TARGET_BASE = 0x21000000, | |
53 | + MPI_IOCLOGINFO_FC_TARGET_NO_PDISC = 0x21000001, /* not sent because we are waiting for a PDISC from the initiator */ | |
54 | + MPI_IOCLOGINFO_FC_TARGET_NO_LOGIN = 0x21000002, /* not sent because we are not logged in to the remote node */ | |
55 | + MPI_IOCLOGINFO_FC_TARGET_DOAR_KILLED_BY_LIP = 0x21000003, /* Data Out, Auto Response, not sent due to a LIP */ | |
56 | + MPI_IOCLOGINFO_FC_TARGET_DIAR_KILLED_BY_LIP = 0x21000004, /* Data In, Auto Response, not sent due to a LIP */ | |
57 | + MPI_IOCLOGINFO_FC_TARGET_DIAR_MISSING_DATA = 0x21000005, /* Data In, Auto Response, missing data frames */ | |
58 | + MPI_IOCLOGINFO_FC_TARGET_DONR_KILLED_BY_LIP = 0x21000006, /* Data Out, No Response, not sent due to a LIP */ | |
59 | + MPI_IOCLOGINFO_FC_TARGET_WRSP_KILLED_BY_LIP = 0x21000007, /* Auto-response after a write not sent due to a LIP */ | |
60 | + MPI_IOCLOGINFO_FC_TARGET_DINR_KILLED_BY_LIP = 0x21000008, /* Data In, No Response, not completed due to a LIP */ | |
61 | + MPI_IOCLOGINFO_FC_TARGET_DINR_MISSING_DATA = 0x21000009, /* Data In, No Response, missing data frames */ | |
62 | + MPI_IOCLOGINFO_FC_TARGET_MRSP_KILLED_BY_LIP = 0x2100000a, /* Manual Response not sent due to a LIP */ | |
63 | + MPI_IOCLOGINFO_FC_TARGET_NO_CLASS_3 = 0x2100000b, /* not sent because remote node does not support Class 3 */ | |
64 | + MPI_IOCLOGINFO_FC_TARGET_LOGIN_NOT_VALID = 0x2100000c, /* not sent because login to remote node not validated */ | |
65 | + MPI_IOCLOGINFO_FC_TARGET_FROM_OUTBOUND = 0x2100000e, /* cleared from the outbound queue after a logout */ | |
66 | + MPI_IOCLOGINFO_FC_TARGET_WAITING_FOR_DATA_IN = 0x2100000f, /* cleared waiting for data after a logout */ | |
67 | + | |
68 | + MPI_IOCLOGINFO_FC_LAN_BASE = 0x22000000, | |
69 | + MPI_IOCLOGINFO_FC_LAN_TRANS_SGL_MISSING = 0x22000001, /* Transaction Context Sgl Missing */ | |
70 | + MPI_IOCLOGINFO_FC_LAN_TRANS_WRONG_PLACE = 0x22000002, /* Transaction Context found before an EOB */ | |
71 | + MPI_IOCLOGINFO_FC_LAN_TRANS_RES_BITS_SET = 0x22000003, /* Transaction Context value has reserved bits set */ | |
72 | + MPI_IOCLOGINFO_FC_LAN_WRONG_SGL_FLAG = 0x22000004, /* Invalid SGL Flags */ | |
73 | + | |
74 | + MPI_IOCLOGINFO_FC_MSG_BASE = 0x23000000, | |
75 | + | |
76 | + MPI_IOCLOGINFO_FC_LINK_BASE = 0x24000000, | |
77 | + MPI_IOCLOGINFO_FC_LINK_LOOP_INIT_TIMEOUT = 0x24000001, /* Loop initialization timed out */ | |
78 | + MPI_IOCLOGINFO_FC_LINK_ALREADY_INITIALIZED = 0x24000002, /* Another system controller already initialized the loop */ | |
79 | + MPI_IOCLOGINFO_FC_LINK_LINK_NOT_ESTABLISHED = 0x24000003, /* Not synchronized to signal or still negotiating (possible cable problem) */ | |
80 | + MPI_IOCLOGINFO_FC_LINK_CRC_ERROR = 0x24000004, /* CRC check detected error on received frame */ | |
81 | + | |
82 | + MPI_IOCLOGINFO_FC_CTX_BASE = 0x25000000, | |
83 | + | |
84 | + MPI_IOCLOGINFO_FC_INVALID_FIELD_BYTE_OFFSET = 0x26000000, /* The lower 24 bits give the byte offset of the field in the request message that is invalid */ | |
85 | + MPI_IOCLOGINFO_FC_INVALID_FIELD_MAX_OFFSET = 0x26ffffff, | |
86 | + | |
87 | + MPI_IOCLOGINFO_FC_STATE_CHANGE = 0x27000000 /* The lower 24 bits give additional information concerning state change */ | |
88 | + | |
89 | +} MpiIocLogInfoFc_t; |
drivers/message/fusion/lsi/mpi_log_sas.h
1 | + | |
2 | +/*************************************************************************** | |
3 | + * * | |
4 | + * Copyright 2003 LSI Logic Corporation. All rights reserved. * | |
5 | + * * | |
6 | + * This file is confidential and a trade secret of LSI Logic. The * | |
7 | + * receipt of or possession of this file does not convey any rights to * | |
8 | + * reproduce or disclose its contents or to manufacture, use, or sell * | |
9 | + * anything it may describe, in whole, or in part, without the specific * | |
10 | + * written consent of LSI Logic Corporation. * | |
11 | + * * | |
12 | + *************************************************************************** | |
13 | + * | |
14 | + * Name: iopiIocLogInfo.h | |
15 | + * Title: SAS Firmware IOP Interface IOC Log Info Definitions | |
16 | + * Programmer: Guy Kendall | |
17 | + * Creation Date: September 24, 2003 | |
18 | + * | |
19 | + * Version History | |
20 | + * --------------- | |
21 | + * | |
22 | + * Last Updated | |
23 | + * ------------- | |
24 | + * Version %version: 22 % | |
25 | + * Date Updated %date_modified: % | |
26 | + * Programmer %created_by: nperucca % | |
27 | + * | |
28 | + * Date Who Description | |
29 | + * -------- --- ------------------------------------------------------- | |
30 | + * 09/24/03 GWK Initial version | |
31 | + * | |
32 | + * | |
33 | + * Description | |
34 | + * ------------ | |
35 | + * This include file contains SAS firmware interface IOC Log Info codes | |
36 | + * | |
37 | + *------------------------------------------------------------------------- | |
38 | + */ | |
39 | + | |
40 | +#ifndef IOPI_IOCLOGINFO_H_INCLUDED | |
41 | +#define IOPI_IOCLOGINFO_H_INCLUDED | |
42 | + | |
43 | + | |
44 | +/****************************************************************************/ | |
45 | +/* IOC LOGINFO defines, 0x00000000 - 0x0FFFFFFF */ | |
46 | +/* Format: */ | |
47 | +/* Bits 31-28: MPI_IOCLOGINFO_TYPE_SAS (3) */ | |
48 | +/* Bits 27-24: IOC_LOGINFO_ORIGINATOR: 0=IOP, 1=PL, 2=IR */ | |
49 | +/* Bits 23-16: LOGINFO_CODE */ | |
50 | +/* Bits 15-0: LOGINFO_CODE Specific */ | |
51 | +/****************************************************************************/ | |
52 | + | |
53 | +/****************************************************************************/ | |
54 | +/* IOC_LOGINFO_ORIGINATOR defines */ | |
55 | +/****************************************************************************/ | |
56 | +#define IOC_LOGINFO_ORIGINATOR_IOP (0x00000000) | |
57 | +#define IOC_LOGINFO_ORIGINATOR_PL (0x01000000) | |
58 | +#define IOC_LOGINFO_ORIGINATOR_IR (0x02000000) | |
59 | + | |
60 | +/****************************************************************************/ | |
61 | +/* LOGINFO_CODE defines */ | |
62 | +/****************************************************************************/ | |
63 | +#define IOC_LOGINFO_CODE_MASK (0x00FF0000) | |
64 | +#define IOC_LOGINFO_CODE_SHIFT (16) | |
65 | + | |
66 | +/****************************************************************************/ | |
67 | +/* IOP LOGINFO_CODE defines, valid if IOC_LOGINFO_ORIGINATOR = IOP */ | |
68 | +/****************************************************************************/ | |
69 | +#define IOP_LOGINFO_CODE_INVALID_SAS_ADDRESS (0x00010000) | |
70 | +#define IOP_LOGINFO_CODE_UNUSED2 (0x00020000) | |
71 | +#define IOP_LOGINFO_CODE_CONFIG_INVALID_PAGE (0x00030000) | |
72 | +#define IOP_LOGINFO_CODE_CONFIG_INVALID_PAGE_RT (0x00030100) /* Route Table Entry not found */ | |
73 | +#define IOP_LOGINFO_CODE_CONFIG_INVALID_PAGE_PN (0x00030200) /* Invalid Page Number */ | |
74 | +#define IOP_LOGINFO_CODE_CONFIG_INVALID_PAGE_FORM (0x00030300) /* Invalid FORM */ | |
75 | +#define IOP_LOGINFO_CODE_CONFIG_INVALID_PAGE_PT (0x00030400) /* Invalid Page Type */ | |
76 | +#define IOP_LOGINFO_CODE_CONFIG_INVALID_PAGE_DNM (0x00030500) /* Device Not Mapped */ | |
77 | +#define IOP_LOGINFO_CODE_CONFIG_INVALID_PAGE_PERSIST (0x00030600) /* Persistent Page not found */ | |
78 | +#define IOP_LOGINFO_CODE_CONFIG_INVALID_PAGE_DEFAULT (0x00030700) /* Default Page not found */ | |
79 | +#define IOP_LOGINFO_CODE_TASK_TERMINATED (0x00050000) | |
80 | + | |
81 | + | |
82 | +/****************************************************************************/ | |
83 | +/* PL LOGINFO_CODE defines, valid if IOC_LOGINFO_ORIGINATOR = PL */ | |
84 | +/****************************************************************************/ | |
85 | +#define PL_LOGINFO_CODE_OPEN_FAILURE (0x00010000) | |
86 | +#define PL_LOGINFO_CODE_INVALID_SGL (0x00020000) | |
87 | +#define PL_LOGINFO_CODE_WRONG_REL_OFF_OR_FRAME_LENGTH (0x00030000) | |
88 | +#define PL_LOGINFO_CODE_FRAME_XFER_ERROR (0x00040000) | |
89 | +#define PL_LOGINFO_CODE_TX_FM_CONNECTED_LOW (0x00050000) | |
90 | +#define PL_LOGINFO_CODE_SATA_NON_NCQ_RW_ERR_BIT_SET (0x00060000) | |
91 | +#define PL_LOGINFO_CODE_SATA_READ_LOG_RECEIVE_DATA_ERR (0x00070000) | |
92 | +#define PL_LOGINFO_CODE_SATA_NCQ_FAIL_ALL_CMDS_AFTR_ERR (0x00080000) | |
93 | +#define PL_LOGINFO_CODE_SATA_ERR_IN_RCV_SET_DEV_BIT_FIS (0x00090000) | |
94 | +#define PL_LOGINFO_CODE_RX_FM_INVALID_MESSAGE (0x000A0000) | |
95 | +#define PL_LOGINFO_CODE_RX_CTX_MESSAGE_VALID_ERROR (0x000B0000) | |
96 | +#define PL_LOGINFO_CODE_RX_FM_CURRENT_FRAME_ERROR (0x000C0000) | |
97 | +#define PL_LOGINFO_CODE_SATA_LINK_DOWN (0x000D0000) | |
98 | +#define PL_LOGINFO_CODE_DISCOVERY_SATA_INIT_W_IOS (0x000E0000) | |
99 | +#define PL_LOGINFO_CODE_CONFIG_INVALID_PAGE (0x000F0000) | |
100 | +#define PL_LOGINFO_CODE_CONFIG_INVALID_PAGE_PT (0x000F0100) /* Invalid Page Type */ | |
101 | +#define PL_LOGINFO_CODE_CONFIG_INVALID_PAGE_NUM_PHYS (0x000F0200) /* Invalid Number of Phys */ | |
102 | +#define PL_LOGINFO_CODE_CONFIG_INVALID_PAGE_NOT_IMP (0x000F0300) /* Case Not Handled */ | |
103 | +#define PL_LOGINFO_CODE_CONFIG_INVALID_PAGE_NO_DEV (0x000F0400) /* No Device Found */ | |
104 | +#define PL_LOGINFO_CODE_CONFIG_INVALID_PAGE_FORM (0x000F0500) /* Invalid FORM */ | |
105 | +#define PL_LOGINFO_CODE_CONFIG_INVALID_PAGE_PHY (0x000F0600) /* Invalid Phy */ | |
106 | +#define PL_LOGINFO_CODE_CONFIG_INVALID_PAGE_NO_OWNER (0x000F0700) /* No Owner Found */ | |
107 | +#define PL_LOGINFO_CODE_DSCVRY_SATA_INIT_TIMEOUT (0x00100000) | |
108 | +#define PL_LOGINFO_CODE_RESET (0x00110000) | |
109 | +#define PL_LOGINFO_CODE_ABORT (0x00120000) | |
110 | +#define PL_LOGINFO_CODE_IO_NOT_YET_EXECUTED (0x00130000) | |
111 | +#define PL_LOGINFO_CODE_IO_EXECUTED (0x00140000) | |
112 | +#define PL_LOGINFO_SUB_CODE_OPEN_FAILURE (0x00000100) | |
113 | +#define PL_LOGINFO_SUB_CODE_INVALID_SGL (0x00000200) | |
114 | +#define PL_LOGINFO_SUB_CODE_WRONG_REL_OFF_OR_FRAME_LENGTH (0x00000300) | |
115 | +#define PL_LOGINFO_SUB_CODE_FRAME_XFER_ERROR (0x00000400) | |
116 | +#define PL_LOGINFO_SUB_CODE_TX_FM_CONNECTED_LOW (0x00000500) | |
117 | +#define PL_LOGINFO_SUB_CODE_SATA_NON_NCQ_RW_ERR_BIT_SET (0x00000600) | |
118 | +#define PL_LOGINFO_SUB_CODE_SATA_READ_LOG_RECEIVE_DATA_ERR (0x00000700) | |
119 | +#define PL_LOGINFO_SUB_CODE_SATA_NCQ_FAIL_ALL_CMDS_AFTR_ERR (0x00000800) | |
120 | +#define PL_LOGINFO_SUB_CODE_SATA_ERR_IN_RCV_SET_DEV_BIT_FIS (0x00000900) | |
121 | +#define PL_LOGINFO_SUB_CODE_RX_FM_INVALID_MESSAGE (0x00000A00) | |
122 | +#define PL_LOGINFO_SUB_CODE_RX_CTX_MESSAGE_VALID_ERROR (0x00000B00) | |
123 | +#define PL_LOGINFO_SUB_CODE_RX_FM_CURRENT_FRAME_ERROR (0x00000C00) | |
124 | +#define PL_LOGINFO_SUB_CODE_SATA_LINK_DOWN (0x00000D00) | |
125 | +#define PL_LOGINFO_SUB_CODE_DISCOVERY_SATA_INIT_W_IOS (0x00000E00) | |
126 | +#define PL_LOGINFO_SUB_CODE_DSCVRY_SATA_INIT_TIMEOUT (0x00001000) | |
127 | + | |
128 | + | |
129 | +#define PL_LOGINFO_CODE_ENCL_MGMT_SMP_FRAME_FAILURE (0x00200000) /* Can't get SMP Frame */ | |
130 | +#define PL_LOGINFO_CODE_ENCL_MGMT_SMP_READ_ERROR (0x00200001) /* Error occured on SMP Read */ | |
131 | +#define PL_LOGINFO_CODE_ENCL_MGMT_SMP_WRITE_ERROR (0x00200002) /* Error occured on SMP Write */ | |
132 | +#define PL_LOGINFO_CODE_ENCL_MGMT_NOT_SUPPORTED_ON_ENCL (0x00200004) /* Encl Mgmt services not available for this WWID */ | |
133 | +#define PL_LOGINFO_CODE_ENCL_MGMT_ADDR_MODE_NOT_SUPPORTED (0x00200005) /* Address Mode not suppored */ | |
134 | +#define PL_LOGINFO_CODE_ENCL_MGMT_BAD_SLOT_NUM (0x00200006) /* Invalid Slot Number in SEP Msg */ | |
135 | +#define PL_LOGINFO_CODE_ENCL_MGMT_SGPIO_NOT_PRESENT (0x00200007) /* SGPIO not present/enabled */ | |
136 | + | |
137 | +#define PL_LOGINFO_DA_SEP_NOT_PRESENT (0x00200100) /* SEP not present when msg received */ | |
138 | +#define PL_LOGINFO_DA_SEP_SINGLE_THREAD_ERROR (0x00200101) /* Can only accept 1 msg at a time */ | |
139 | +#define PL_LOGINFO_DA_SEP_ISTWI_INTR_IN_IDLE_STATE (0x00200102) /* ISTWI interrupt recvd. while IDLE */ | |
140 | +#define PL_LOGINFO_DA_SEP_RECEIVED_NACK_FROM_SLAVE (0x00200103) /* SEP NACK'd, it is busy */ | |
141 | +#define PL_LOGINFO_DA_SEP_BAD_STATUS_HDR_CHKSUM (0x00200104) /* SEP stopped or sent bad chksum in Hdr */ | |
142 | +#define PL_LOGINFO_DA_SEP_UNSUPPORTED_SCSI_STATUS_1 (0x00200105) /* SEP returned unknown scsi status */ | |
143 | +#define PL_LOGINFO_DA_SEP_UNSUPPORTED_SCSI_STATUS_2 (0x00200106) /* SEP returned unknown scsi status */ | |
144 | +#define PL_LOGINFO_DA_SEP_CHKSUM_ERROR_AFTER_STOP (0x00200107) /* SEP returned bad chksum after STOP */ | |
145 | +#define PL_LOGINFO_DA_SEP_CHKSUM_ERROR_AFTER_STOP_GETDATA (0x00200108) /* SEP returned bad chksum after STOP while gettin data*/ | |
146 | + | |
147 | + | |
148 | +/****************************************************************************/ | |
149 | +/* IR LOGINFO_CODE defines, valid if IOC_LOGINFO_ORIGINATOR = IR */ | |
150 | +/****************************************************************************/ | |
151 | +#define IR_LOGINFO_CODE_UNUSED1 (0x00010000) | |
152 | +#define IR_LOGINFO_CODE_UNUSED2 (0x00020000) | |
153 | + | |
154 | +/****************************************************************************/ | |
155 | +/* Defines for convienence */ | |
156 | +/****************************************************************************/ | |
157 | +#define IOC_LOGINFO_PREFIX_IOP ((MPI_IOCLOGINFO_TYPE_SAS << MPI_IOCLOGINFO_TYPE_SHIFT) | IOC_LOGINFO_ORIGINATOR_IOP) | |
158 | +#define IOC_LOGINFO_PREFIX_PL ((MPI_IOCLOGINFO_TYPE_SAS << MPI_IOCLOGINFO_TYPE_SHIFT) | IOC_LOGINFO_ORIGINATOR_PL) | |
159 | +#define IOC_LOGINFO_PREFIX_IR ((MPI_IOCLOGINFO_TYPE_SAS << MPI_IOCLOGINFO_TYPE_SHIFT) | IOC_LOGINFO_ORIGINATOR_IR) | |
160 | + | |
161 | +#endif /* end of file */ |
drivers/message/fusion/lsi/mpi_sas.h
... | ... | @@ -6,7 +6,7 @@ |
6 | 6 | * Title: MPI Serial Attached SCSI structures and definitions |
7 | 7 | * Creation Date: August 19, 2004 |
8 | 8 | * |
9 | - * mpi_sas.h Version: 01.05.01 | |
9 | + * mpi_sas.h Version: 01.05.02 | |
10 | 10 | * |
11 | 11 | * Version History |
12 | 12 | * --------------- |
... | ... | @@ -14,6 +14,9 @@ |
14 | 14 | * Date Version Description |
15 | 15 | * -------- -------- ------------------------------------------------------ |
16 | 16 | * 08-19-04 01.05.01 Original release. |
17 | + * 08-30-05 01.05.02 Added DeviceInfo bit for SEP. | |
18 | + * Added PrimFlags and Primitive field to SAS IO Unit | |
19 | + * Control request, and added a new operation code. | |
17 | 20 | * -------------------------------------------------------------------------- |
18 | 21 | */ |
19 | 22 | |
... | ... | @@ -51,6 +54,7 @@ |
51 | 54 | * Values for the SAS DeviceInfo field used in SAS Device Status Change Event |
52 | 55 | * data and SAS IO Unit Configuration pages. |
53 | 56 | */ |
57 | +#define MPI_SAS_DEVICE_INFO_SEP (0x00004000) | |
54 | 58 | #define MPI_SAS_DEVICE_INFO_ATAPI_DEVICE (0x00002000) |
55 | 59 | #define MPI_SAS_DEVICE_INFO_LSI_DEVICE (0x00001000) |
56 | 60 | #define MPI_SAS_DEVICE_INFO_DIRECT_ATTACH (0x00000800) |
57 | 61 | |
58 | 62 | |
... | ... | @@ -212,20 +216,26 @@ |
212 | 216 | U8 TargetID; /* 0Ch */ |
213 | 217 | U8 Bus; /* 0Dh */ |
214 | 218 | U8 PhyNum; /* 0Eh */ |
215 | - U8 Reserved4; /* 0Fh */ | |
216 | - U32 Reserved5; /* 10h */ | |
219 | + U8 PrimFlags; /* 0Fh */ | |
220 | + U32 Primitive; /* 10h */ | |
217 | 221 | U64 SASAddress; /* 14h */ |
218 | - U32 Reserved6; /* 1Ch */ | |
222 | + U32 Reserved4; /* 1Ch */ | |
219 | 223 | } MSG_SAS_IOUNIT_CONTROL_REQUEST, MPI_POINTER PTR_MSG_SAS_IOUNIT_CONTROL_REQUEST, |
220 | 224 | SasIoUnitControlRequest_t, MPI_POINTER pSasIoUnitControlRequest_t; |
221 | 225 | |
222 | 226 | /* values for the Operation field */ |
223 | -#define MPI_SAS_OP_CLEAR_NOT_PRESENT (0x01) | |
224 | -#define MPI_SAS_OP_CLEAR_ALL_PERSISTENT (0x02) | |
225 | -#define MPI_SAS_OP_PHY_LINK_RESET (0x06) | |
226 | -#define MPI_SAS_OP_PHY_HARD_RESET (0x07) | |
227 | -#define MPI_SAS_OP_PHY_CLEAR_ERROR_LOG (0x08) | |
228 | -#define MPI_SAS_OP_MAP_CURRENT (0x09) | |
227 | +#define MPI_SAS_OP_CLEAR_NOT_PRESENT (0x01) | |
228 | +#define MPI_SAS_OP_CLEAR_ALL_PERSISTENT (0x02) | |
229 | +#define MPI_SAS_OP_PHY_LINK_RESET (0x06) | |
230 | +#define MPI_SAS_OP_PHY_HARD_RESET (0x07) | |
231 | +#define MPI_SAS_OP_PHY_CLEAR_ERROR_LOG (0x08) | |
232 | +#define MPI_SAS_OP_MAP_CURRENT (0x09) | |
233 | +#define MPI_SAS_OP_SEND_PRIMITIVE (0x0A) | |
234 | + | |
235 | +/* values for the PrimFlags field */ | |
236 | +#define MPI_SAS_PRIMFLAGS_SINGLE (0x08) | |
237 | +#define MPI_SAS_PRIMFLAGS_TRIPLE (0x02) | |
238 | +#define MPI_SAS_PRIMFLAGS_REDUNDANT (0x01) | |
229 | 239 | |
230 | 240 | |
231 | 241 | /* SAS IO Unit Control Reply */ |