Commit 4b915a73663fe0951077ebcdaf02337ff2bddcfc

Authored by Moore, Eric
Committed by James Bottomley
1 parent 816aa907b9

[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
... ... @@ -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 */