aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/block/cciss_cmd.h
diff options
context:
space:
mode:
authorMike Miller (OS Dev) <mikem@beardog.cca.cpqcorp.net>2006-10-01 02:27:23 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-10-01 03:39:20 -0400
commit00988a3514bbc0cce781c067cf52559741d88b80 (patch)
treee0a844ecd9351c67dd9e73e8e6aafd064fa43137 /drivers/block/cciss_cmd.h
parent82b0547cfae1fb2ee26cad588f6d49a347d24740 (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.h33
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
128typedef 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