diff options
Diffstat (limited to 'drivers/block/cciss_cmd.h')
-rw-r--r-- | drivers/block/cciss_cmd.h | 36 |
1 files changed, 33 insertions, 3 deletions
diff --git a/drivers/block/cciss_cmd.h b/drivers/block/cciss_cmd.h index e624ff959cb6..eb060f1b00b6 100644 --- a/drivers/block/cciss_cmd.h +++ b/drivers/block/cciss_cmd.h | |||
@@ -52,8 +52,10 @@ | |||
52 | /* Configuration Table */ | 52 | /* Configuration Table */ |
53 | #define CFGTBL_ChangeReq 0x00000001l | 53 | #define CFGTBL_ChangeReq 0x00000001l |
54 | #define CFGTBL_AccCmds 0x00000001l | 54 | #define CFGTBL_AccCmds 0x00000001l |
55 | #define DOORBELL_CTLR_RESET 0x00000004l | ||
55 | 56 | ||
56 | #define CFGTBL_Trans_Simple 0x00000002l | 57 | #define CFGTBL_Trans_Simple 0x00000002l |
58 | #define CFGTBL_Trans_Performant 0x00000004l | ||
57 | 59 | ||
58 | #define CFGTBL_BusType_Ultra2 0x00000001l | 60 | #define CFGTBL_BusType_Ultra2 0x00000001l |
59 | #define CFGTBL_BusType_Ultra3 0x00000002l | 61 | #define CFGTBL_BusType_Ultra3 0x00000002l |
@@ -173,12 +175,15 @@ typedef struct _SGDescriptor_struct { | |||
173 | * PAD_64 can be adjusted independently as needed for 32-bit | 175 | * PAD_64 can be adjusted independently as needed for 32-bit |
174 | * and 64-bits systems. | 176 | * and 64-bits systems. |
175 | */ | 177 | */ |
176 | #define COMMANDLIST_ALIGNMENT (8) | 178 | #define COMMANDLIST_ALIGNMENT (32) |
177 | #define IS_64_BIT ((sizeof(long) - 4)/4) | 179 | #define IS_64_BIT ((sizeof(long) - 4)/4) |
178 | #define IS_32_BIT (!IS_64_BIT) | 180 | #define IS_32_BIT (!IS_64_BIT) |
179 | #define PAD_32 (0) | 181 | #define PAD_32 (0) |
180 | #define PAD_64 (4) | 182 | #define PAD_64 (4) |
181 | #define PADSIZE (IS_32_BIT * PAD_32 + IS_64_BIT * PAD_64) | 183 | #define PADSIZE (IS_32_BIT * PAD_32 + IS_64_BIT * PAD_64) |
184 | #define DIRECT_LOOKUP_BIT 0x10 | ||
185 | #define DIRECT_LOOKUP_SHIFT 5 | ||
186 | |||
182 | typedef struct _CommandList_struct { | 187 | typedef struct _CommandList_struct { |
183 | CommandListHeader_struct Header; | 188 | CommandListHeader_struct Header; |
184 | RequestBlock_struct Request; | 189 | RequestBlock_struct Request; |
@@ -195,7 +200,7 @@ typedef struct _CommandList_struct { | |||
195 | struct completion *waiting; | 200 | struct completion *waiting; |
196 | int retry_count; | 201 | int retry_count; |
197 | void * scsi_cmd; | 202 | void * scsi_cmd; |
198 | char pad[PADSIZE]; | 203 | char pad[PADSIZE]; |
199 | } CommandList_struct; | 204 | } CommandList_struct; |
200 | 205 | ||
201 | /* Configuration Table Structure */ | 206 | /* Configuration Table Structure */ |
@@ -209,12 +214,15 @@ typedef struct _HostWrite_struct { | |||
209 | typedef struct _CfgTable_struct { | 214 | typedef struct _CfgTable_struct { |
210 | BYTE Signature[4]; | 215 | BYTE Signature[4]; |
211 | DWORD SpecValence; | 216 | DWORD SpecValence; |
217 | #define SIMPLE_MODE 0x02 | ||
218 | #define PERFORMANT_MODE 0x04 | ||
219 | #define MEMQ_MODE 0x08 | ||
212 | DWORD TransportSupport; | 220 | DWORD TransportSupport; |
213 | DWORD TransportActive; | 221 | DWORD TransportActive; |
214 | HostWrite_struct HostWrite; | 222 | HostWrite_struct HostWrite; |
215 | DWORD CmdsOutMax; | 223 | DWORD CmdsOutMax; |
216 | DWORD BusTypes; | 224 | DWORD BusTypes; |
217 | DWORD Reserved; | 225 | DWORD TransMethodOffset; |
218 | BYTE ServerName[16]; | 226 | BYTE ServerName[16]; |
219 | DWORD HeartBeat; | 227 | DWORD HeartBeat; |
220 | DWORD SCSI_Prefetch; | 228 | DWORD SCSI_Prefetch; |
@@ -222,6 +230,28 @@ typedef struct _CfgTable_struct { | |||
222 | DWORD MaxLogicalUnits; | 230 | DWORD MaxLogicalUnits; |
223 | DWORD MaxPhysicalDrives; | 231 | DWORD MaxPhysicalDrives; |
224 | DWORD MaxPhysicalDrivesPerLogicalUnit; | 232 | DWORD MaxPhysicalDrivesPerLogicalUnit; |
233 | DWORD MaxPerformantModeCommands; | ||
234 | u8 reserved[0x78 - 0x58]; | ||
235 | u32 misc_fw_support; /* offset 0x78 */ | ||
236 | #define MISC_FW_DOORBELL_RESET (0x02) | ||
225 | } CfgTable_struct; | 237 | } CfgTable_struct; |
238 | |||
239 | struct TransTable_struct { | ||
240 | u32 BlockFetch0; | ||
241 | u32 BlockFetch1; | ||
242 | u32 BlockFetch2; | ||
243 | u32 BlockFetch3; | ||
244 | u32 BlockFetch4; | ||
245 | u32 BlockFetch5; | ||
246 | u32 BlockFetch6; | ||
247 | u32 BlockFetch7; | ||
248 | u32 RepQSize; | ||
249 | u32 RepQCount; | ||
250 | u32 RepQCtrAddrLow32; | ||
251 | u32 RepQCtrAddrHigh32; | ||
252 | u32 RepQAddr0Low32; | ||
253 | u32 RepQAddr0High32; | ||
254 | }; | ||
255 | |||
226 | #pragma pack() | 256 | #pragma pack() |
227 | #endif /* CCISS_CMD_H */ | 257 | #endif /* CCISS_CMD_H */ |