aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/aacraid/aacraid.h
diff options
context:
space:
mode:
authorSalyzyn, Mark <mark_salyzyn@adaptec.com>2007-06-12 09:33:54 -0400
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>2007-06-17 16:00:47 -0400
commit29c976844d0bef07d97babc8db60fa6c46788133 (patch)
tree9543cef49748d0fe7ac08a5a1780c213e0fc37bd /drivers/scsi/aacraid/aacraid.h
parent1a655040c24ebf3954ad5cf8848391cb420b1ffb (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.h25
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
1267struct 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
1263struct aac_srb 1278struct 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
1816unsigned int aac_response_normal(struct aac_queue * q); 1831unsigned int aac_response_normal(struct aac_queue * q);
1817unsigned int aac_command_normal(struct aac_queue * q); 1832unsigned int aac_command_normal(struct aac_queue * q);
1818unsigned int aac_intr_normal(struct aac_dev * dev, u32 Index); 1833unsigned int aac_intr_normal(struct aac_dev * dev, u32 Index);
1834int aac_reset_adapter(struct aac_dev * dev, int forced);
1819int aac_check_health(struct aac_dev * dev); 1835int aac_check_health(struct aac_dev * dev);
1820int aac_command_thread(void *data); 1836int aac_command_thread(void *data);
1821int aac_close_fib_context(struct aac_dev * dev, struct aac_fib_context *fibctx); 1837int aac_close_fib_context(struct aac_dev * dev, struct aac_fib_context *fibctx);
@@ -1835,3 +1851,6 @@ extern int aif_timeout;
1835extern int expose_physicals; 1851extern int expose_physicals;
1836extern int aac_reset_devices; 1852extern int aac_reset_devices;
1837extern int aac_commit; 1853extern int aac_commit;
1854extern int update_interval;
1855extern int check_interval;
1856extern int check_reset;