aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/hpsa_cmd.h
diff options
context:
space:
mode:
authorStephen M. Cameron <scameron@beardog.cce.hp.com>2010-02-25 15:03:27 -0500
committerJames Bottomley <James.Bottomley@suse.de>2010-03-03 08:07:22 -0500
commit33a2ffce51d9598380d73c515a27fc6cff3bd9c4 (patch)
treec370a96166c005f82c44353f4098778e85db0f72 /drivers/scsi/hpsa_cmd.h
parentdb61bfcfe2a68dc71402c270686cd73b80971efc (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.h7
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};