diff options
author | Mike Miller (OS Dev) <mikem@beardog.cca.cpqcorp.net> | 2006-10-01 02:27:23 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-01 03:39:20 -0400 |
commit | 00988a3514bbc0cce781c067cf52559741d88b80 (patch) | |
tree | e0a844ecd9351c67dd9e73e8e6aafd064fa43137 /drivers/block/cciss_cmd.h | |
parent | 82b0547cfae1fb2ee26cad588f6d49a347d24740 (diff) |
[PATCH] cciss: support for >2TB logical volumes
Add support for logical volumes >2TB. All SAS/SATA controllers support
large volumes.
Signed-off-by: Mike Miller <mike.miller@hp.com>
Cc: Jens Axboe <axboe@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/block/cciss_cmd.h')
-rw-r--r-- | drivers/block/cciss_cmd.h | 33 |
1 files changed, 28 insertions, 5 deletions
diff --git a/drivers/block/cciss_cmd.h b/drivers/block/cciss_cmd.h index 53fea549ba8b..4af7c4c0c7af 100644 --- a/drivers/block/cciss_cmd.h +++ b/drivers/block/cciss_cmd.h | |||
@@ -118,11 +118,34 @@ typedef struct _ReadCapdata_struct | |||
118 | BYTE block_size[4]; // Size of blocks in bytes | 118 | BYTE block_size[4]; // Size of blocks in bytes |
119 | } ReadCapdata_struct; | 119 | } ReadCapdata_struct; |
120 | 120 | ||
121 | // 12 byte commands not implemented in firmware yet. | 121 | #define CCISS_READ_CAPACITY_16 0x9e /* Read Capacity 16 */ |
122 | // #define CCISS_READ 0xa8 // Read(12) | 122 | |
123 | // #define CCISS_WRITE 0xaa // Write(12) | 123 | /* service action to differentiate a 16 byte read capacity from |
124 | #define CCISS_READ 0x28 // Read(10) | 124 | other commands that use the 0x9e SCSI op code */ |
125 | #define CCISS_WRITE 0x2a // Write(10) | 125 | |
126 | #define CCISS_READ_CAPACITY_16_SERVICE_ACT 0x10 | ||
127 | |||
128 | typedef struct _ReadCapdata_struct_16 | ||
129 | { | ||
130 | BYTE total_size[8]; /* Total size in blocks */ | ||
131 | BYTE block_size[4]; /* Size of blocks in bytes */ | ||
132 | BYTE prot_en:1; /* protection enable bit */ | ||
133 | BYTE rto_en:1; /* reference tag own enable bit */ | ||
134 | BYTE reserved:6; /* reserved bits */ | ||
135 | BYTE reserved2[18]; /* reserved bytes per spec */ | ||
136 | } ReadCapdata_struct_16; | ||
137 | |||
138 | /* Define the supported read/write commands for cciss based controllers */ | ||
139 | |||
140 | #define CCISS_READ_10 0x28 /* Read(10) */ | ||
141 | #define CCISS_WRITE_10 0x2a /* Write(10) */ | ||
142 | #define CCISS_READ_16 0x88 /* Read(16) */ | ||
143 | #define CCISS_WRITE_16 0x8a /* Write(16) */ | ||
144 | |||
145 | /* Define the CDB lengths supported by cciss based controllers */ | ||
146 | |||
147 | #define CDB_LEN10 10 | ||
148 | #define CDB_LEN16 16 | ||
126 | 149 | ||
127 | // BMIC commands | 150 | // BMIC commands |
128 | #define BMIC_READ 0x26 | 151 | #define BMIC_READ 0x26 |