patch-2.2.12 linux/drivers/block/DAC960.h
Next file: linux/drivers/block/floppy.c
Previous file: linux/drivers/block/DAC960.c
Back to the patch index
Back to the overall index
- Lines: 117
- Date:
Wed Aug 25 17:29:46 1999
- Orig file:
v2.2.11/linux/drivers/block/DAC960.h
- Orig date:
Mon Aug 9 16:05:55 1999
diff -u --recursive --new-file v2.2.11/linux/drivers/block/DAC960.h linux/drivers/block/DAC960.h
@@ -672,6 +672,57 @@
/*
+ Define the SCSI INQUIRY Standard Data reply structure.
+*/
+
+typedef struct DAC960_SCSI_Inquiry
+{
+ unsigned char PeripheralDeviceType:5; /* Byte 0 Bits 0-4 */
+ unsigned char PeripheralQualifier:3; /* Byte 0 Bits 5-7 */
+ unsigned char DeviceTypeModifier:7; /* Byte 1 Bits 0-6 */
+ boolean RMB:1; /* Byte 1 Bit 7 */
+ unsigned char ANSI_ApprovedVersion:3; /* Byte 2 Bits 0-2 */
+ unsigned char ECMA_Version:3; /* Byte 2 Bits 3-5 */
+ unsigned char ISO_Version:2; /* Byte 2 Bits 6-7 */
+ unsigned char ResponseDataFormat:4; /* Byte 3 Bits 0-3 */
+ unsigned char :2; /* Byte 3 Bits 4-5 */
+ boolean TrmIOP:1; /* Byte 3 Bit 6 */
+ boolean AENC:1; /* Byte 3 Bit 7 */
+ unsigned char AdditionalLength; /* Byte 4 */
+ unsigned char :8; /* Byte 5 */
+ unsigned char :8; /* Byte 6 */
+ boolean SftRe:1; /* Byte 7 Bit 0 */
+ boolean CmdQue:1; /* Byte 7 Bit 1 */
+ boolean :1; /* Byte 7 Bit 2 */
+ boolean Linked:1; /* Byte 7 Bit 3 */
+ boolean Sync:1; /* Byte 7 Bit 4 */
+ boolean WBus16:1; /* Byte 7 Bit 5 */
+ boolean WBus32:1; /* Byte 7 Bit 6 */
+ boolean RelAdr:1; /* Byte 7 Bit 7 */
+ unsigned char VendorIdentification[8]; /* Bytes 8-15 */
+ unsigned char ProductIdentification[16]; /* Bytes 16-31 */
+ unsigned char ProductRevisionLevel[4]; /* Bytes 32-35 */
+}
+DAC960_SCSI_Inquiry_T;
+
+
+/*
+ Define the SCSI INQUIRY Unit Serial Number reply structure.
+*/
+
+typedef struct DAC960_SCSI_Inquiry_UnitSerialNumber
+{
+ unsigned char PeripheralDeviceType:5; /* Byte 0 Bits 0-4 */
+ unsigned char PeripheralQualifier:3; /* Byte 0 Bits 5-7 */
+ unsigned char PageCode; /* Byte 1 */
+ unsigned char :8; /* Byte 2 */
+ unsigned char PageLength; /* Byte 3 */
+ unsigned char ProductSerialNumber[28]; /* Bytes 4 - 31 */
+}
+DAC960_SCSI_Inquiry_UnitSerialNumber_T;
+
+
+/*
Define the Scatter/Gather List Type 1 32 Bit Address 32 Bit Byte Count
structure.
*/
@@ -977,12 +1028,12 @@
/*
- Define the Controller Line, Status Buffer, Rebuild Progress, and
- User Message Sizes.
+ Define the Controller Line Buffer, Status Buffer, Rebuild Progress,
+ and User Message Sizes.
*/
#define DAC960_LineBufferSize 100
-#define DAC960_StatusBufferSize 5000
+#define DAC960_StatusBufferSize 16384
#define DAC960_RebuildProgressSize 200
#define DAC960_UserMessageSize 200
@@ -1183,6 +1234,7 @@
unsigned long MonitoringTimerCount;
unsigned long SecondaryMonitoringTime;
unsigned long LastProgressReportTime;
+ unsigned long LastCurrentStatusTime;
boolean DualModeMemoryMailboxInterface;
boolean SAFTE_EnclosureManagementEnabled;
boolean ControllerInitialized;
@@ -1190,6 +1242,8 @@
boolean NeedLogicalDriveInformation;
boolean NeedErrorTableInformation;
boolean NeedDeviceStateInformation;
+ boolean NeedDeviceInquiryInformation;
+ boolean NeedDeviceSerialNumberInformation;
boolean NeedRebuildProgress;
boolean NeedConsistencyCheckProgress;
boolean EphemeralProgressMessage;
@@ -1209,6 +1263,7 @@
PROC_DirectoryEntry_T CurrentStatusProcEntry;
PROC_DirectoryEntry_T UserCommandProcEntry;
WaitQueue_T *CommandWaitQueue;
+ DAC960_DCDB_T MonitoringDCDB;
DAC960_Enquiry_T Enquiry[2];
DAC960_ErrorTable_T ErrorTable[2];
DAC960_EventLogEntry_T EventLogEntry;
@@ -1219,12 +1274,17 @@
DAC960_LogicalDriveState_T LogicalDriveInitialState[DAC960_MaxLogicalDrives];
DAC960_DeviceState_T DeviceState[2][DAC960_MaxChannels][DAC960_MaxTargets];
DAC960_Command_T Commands[DAC960_MaxDriverQueueDepth];
+ DAC960_SCSI_Inquiry_T
+ InquiryStandardData[DAC960_MaxChannels][DAC960_MaxTargets];
+ DAC960_SCSI_Inquiry_UnitSerialNumber_T
+ InquiryUnitSerialNumber[DAC960_MaxChannels][DAC960_MaxTargets];
DiskPartition_T DiskPartitions[DAC960_MinorCount];
int LogicalDriveUsageCount[DAC960_MaxLogicalDrives];
int PartitionSizes[DAC960_MinorCount];
int BlockSizes[DAC960_MinorCount];
int MaxSectorsPerRequest[DAC960_MinorCount];
int MaxSegmentsPerRequest[DAC960_MinorCount];
+ int DeviceResetCount[DAC960_MaxChannels][DAC960_MaxTargets];
boolean DirectCommandActive[DAC960_MaxChannels][DAC960_MaxTargets];
char InitialStatusBuffer[DAC960_StatusBufferSize];
char CurrentStatusBuffer[DAC960_StatusBufferSize];
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)