diff options
author | Stephen M. Cameron <scameron@beardog.cce.hp.com> | 2010-02-25 15:03:27 -0500 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-03-03 08:07:22 -0500 |
commit | 33a2ffce51d9598380d73c515a27fc6cff3bd9c4 (patch) | |
tree | c370a96166c005f82c44353f4098778e85db0f72 /drivers/scsi/hpsa_cmd.h | |
parent | db61bfcfe2a68dc71402c270686cd73b80971efc (diff) |
[SCSI] hpsa: Increase the number of scatter gather elements supported.
This uses the scatter-gather chaining feature of Smart Array
controllers. 32 scatter-gather elements are embedded in the
"command list", and the last element in the list may be marked
as a "chain pointer", and point to an additional block of
scatter gather elements. The precise number of scatter gather
elements supported is dependent on the particular kind of
Smart Array, and is determined at runtime by querying the
hardware.
Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/hpsa_cmd.h')
-rw-r--r-- | drivers/scsi/hpsa_cmd.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/scsi/hpsa_cmd.h b/drivers/scsi/hpsa_cmd.h index 43b6f1cffe34..cb0c2385f3f6 100644 --- a/drivers/scsi/hpsa_cmd.h +++ b/drivers/scsi/hpsa_cmd.h | |||
@@ -23,7 +23,8 @@ | |||
23 | 23 | ||
24 | /* general boundary defintions */ | 24 | /* general boundary defintions */ |
25 | #define SENSEINFOBYTES 32 /* may vary between hbas */ | 25 | #define SENSEINFOBYTES 32 /* may vary between hbas */ |
26 | #define MAXSGENTRIES 31 | 26 | #define MAXSGENTRIES 32 |
27 | #define HPSA_SG_CHAIN 0x80000000 | ||
27 | #define MAXREPLYQS 256 | 28 | #define MAXREPLYQS 256 |
28 | 29 | ||
29 | /* Command Status value */ | 30 | /* Command Status value */ |
@@ -321,8 +322,8 @@ struct CommandList { | |||
321 | */ | 322 | */ |
322 | #define IS_32_BIT ((8 - sizeof(long))/4) | 323 | #define IS_32_BIT ((8 - sizeof(long))/4) |
323 | #define IS_64_BIT (!IS_32_BIT) | 324 | #define IS_64_BIT (!IS_32_BIT) |
324 | #define PAD_32 (8) | 325 | #define PAD_32 (24) |
325 | #define PAD_64 (0) | 326 | #define PAD_64 (16) |
326 | #define COMMANDLIST_PAD (IS_32_BIT * PAD_32 + IS_64_BIT * PAD_64) | 327 | #define COMMANDLIST_PAD (IS_32_BIT * PAD_32 + IS_64_BIT * PAD_64) |
327 | u8 pad[COMMANDLIST_PAD]; | 328 | u8 pad[COMMANDLIST_PAD]; |
328 | }; | 329 | }; |