diff options
author | Salyzyn, Mark <mark_salyzyn@adaptec.com> | 2007-06-12 09:33:54 -0400 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2007-06-17 16:00:47 -0400 |
commit | 29c976844d0bef07d97babc8db60fa6c46788133 (patch) | |
tree | 9543cef49748d0fe7ac08a5a1780c213e0fc37bd /drivers/scsi/aacraid/aacraid.h | |
parent | 1a655040c24ebf3954ad5cf8848391cb420b1ffb (diff) |
[SCSI] aacraid: add user initiated reset
Add the ability for an application to issue a hardware reset to the
adapter via sysfs. Typical uses include restarting the adapter after it
has been flashed. Bumped revision number for the driver and added a
feature to periodically check the adapter's health (check_interval),
update the adapter's concept of time (update_interval) and block
checking/resetting of the adapter (check_reset).
Signed-off-by: Mark Salyzyn <aacraid@adaptec.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/aacraid/aacraid.h')
-rw-r--r-- | drivers/scsi/aacraid/aacraid.h | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/drivers/scsi/aacraid/aacraid.h b/drivers/scsi/aacraid/aacraid.h index fdbedb17d03b..8abe4f97b0af 100644 --- a/drivers/scsi/aacraid/aacraid.h +++ b/drivers/scsi/aacraid/aacraid.h | |||
@@ -12,8 +12,8 @@ | |||
12 | *----------------------------------------------------------------------------*/ | 12 | *----------------------------------------------------------------------------*/ |
13 | 13 | ||
14 | #ifndef AAC_DRIVER_BUILD | 14 | #ifndef AAC_DRIVER_BUILD |
15 | # define AAC_DRIVER_BUILD 2437 | 15 | # define AAC_DRIVER_BUILD 2447 |
16 | # define AAC_DRIVER_BRANCH "-mh4" | 16 | # define AAC_DRIVER_BRANCH "-ms" |
17 | #endif | 17 | #endif |
18 | #define MAXIMUM_NUM_CONTAINERS 32 | 18 | #define MAXIMUM_NUM_CONTAINERS 32 |
19 | 19 | ||
@@ -860,10 +860,12 @@ struct aac_supplement_adapter_info | |||
860 | __le32 FlashFirmwareBootBuild; | 860 | __le32 FlashFirmwareBootBuild; |
861 | u8 MfgPcbaSerialNo[12]; | 861 | u8 MfgPcbaSerialNo[12]; |
862 | u8 MfgWWNName[8]; | 862 | u8 MfgWWNName[8]; |
863 | __le32 MoreFeatureBits; | 863 | __le32 SupportedOptions2; |
864 | __le32 ReservedGrowth[1]; | 864 | __le32 ReservedGrowth[1]; |
865 | }; | 865 | }; |
866 | #define AAC_FEATURE_FALCON 0x00000010 | 866 | #define AAC_FEATURE_FALCON 0x00000010 |
867 | #define AAC_OPTION_MU_RESET 0x00000001 | ||
868 | #define AAC_OPTION_IGNORE_RESET 0x00000002 | ||
867 | #define AAC_SIS_VERSION_V3 3 | 869 | #define AAC_SIS_VERSION_V3 3 |
868 | #define AAC_SIS_SLOT_UNKNOWN 0xFF | 870 | #define AAC_SIS_SLOT_UNKNOWN 0xFF |
869 | 871 | ||
@@ -1260,6 +1262,19 @@ struct aac_synchronize_reply { | |||
1260 | u8 data[16]; | 1262 | u8 data[16]; |
1261 | }; | 1263 | }; |
1262 | 1264 | ||
1265 | #define CT_PAUSE_IO 65 | ||
1266 | #define CT_RELEASE_IO 66 | ||
1267 | struct aac_pause { | ||
1268 | __le32 command; /* VM_ContainerConfig */ | ||
1269 | __le32 type; /* CT_PAUSE_IO */ | ||
1270 | __le32 timeout; /* 10ms ticks */ | ||
1271 | __le32 min; | ||
1272 | __le32 noRescan; | ||
1273 | __le32 parm3; | ||
1274 | __le32 parm4; | ||
1275 | __le32 count; /* sizeof(((struct aac_pause_reply *)NULL)->data) */ | ||
1276 | }; | ||
1277 | |||
1263 | struct aac_srb | 1278 | struct aac_srb |
1264 | { | 1279 | { |
1265 | __le32 function; | 1280 | __le32 function; |
@@ -1816,6 +1831,7 @@ int aac_queue_get(struct aac_dev * dev, u32 * index, u32 qid, struct hw_fib * hw | |||
1816 | unsigned int aac_response_normal(struct aac_queue * q); | 1831 | unsigned int aac_response_normal(struct aac_queue * q); |
1817 | unsigned int aac_command_normal(struct aac_queue * q); | 1832 | unsigned int aac_command_normal(struct aac_queue * q); |
1818 | unsigned int aac_intr_normal(struct aac_dev * dev, u32 Index); | 1833 | unsigned int aac_intr_normal(struct aac_dev * dev, u32 Index); |
1834 | int aac_reset_adapter(struct aac_dev * dev, int forced); | ||
1819 | int aac_check_health(struct aac_dev * dev); | 1835 | int aac_check_health(struct aac_dev * dev); |
1820 | int aac_command_thread(void *data); | 1836 | int aac_command_thread(void *data); |
1821 | int aac_close_fib_context(struct aac_dev * dev, struct aac_fib_context *fibctx); | 1837 | int aac_close_fib_context(struct aac_dev * dev, struct aac_fib_context *fibctx); |
@@ -1835,3 +1851,6 @@ extern int aif_timeout; | |||
1835 | extern int expose_physicals; | 1851 | extern int expose_physicals; |
1836 | extern int aac_reset_devices; | 1852 | extern int aac_reset_devices; |
1837 | extern int aac_commit; | 1853 | extern int aac_commit; |
1854 | extern int update_interval; | ||
1855 | extern int check_interval; | ||
1856 | extern int check_reset; | ||