diff options
author | Don Brace <brace@beardog.cce.hp.com> | 2009-11-12 13:50:01 -0500 |
---|---|---|
committer | Jens Axboe <jens.axboe@oracle.com> | 2009-11-13 02:45:54 -0500 |
commit | 5c07a311a80adb0138fc08e8279c60255d88d0b8 (patch) | |
tree | 1746b4ec4b7ea1f2f02b34d5c0adc86dc8e0d97f /drivers/block/cciss.h | |
parent | da0021841c3ea6a82588efae3260015847ea5d33 (diff) |
cciss: Add enhanced scatter-gather support.
cciss: Add enhanced scatter-gather support. For controllers which
supported, more than 512 scatter-gather elements per command may
be used, and the max transfer size can be increased to 8192 blocks.
Signed-off-by: Don Brace <brace@beardog.cce.hp.com>
Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'drivers/block/cciss.h')
-rw-r--r-- | drivers/block/cciss.h | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/drivers/block/cciss.h b/drivers/block/cciss.h index 31524cf42c77..e5c63e579ffc 100644 --- a/drivers/block/cciss.h +++ b/drivers/block/cciss.h | |||
@@ -55,7 +55,13 @@ typedef struct _drive_info_struct | |||
55 | char device_initialized; /* indicates whether dev is initialized */ | 55 | char device_initialized; /* indicates whether dev is initialized */ |
56 | } drive_info_struct; | 56 | } drive_info_struct; |
57 | 57 | ||
58 | struct ctlr_info | 58 | struct Cmd_sg_list { |
59 | SGDescriptor_struct *sgchain; | ||
60 | dma64_addr_t sg_chain_dma; | ||
61 | int chain_block_size; | ||
62 | }; | ||
63 | |||
64 | struct ctlr_info | ||
59 | { | 65 | { |
60 | int ctlr; | 66 | int ctlr; |
61 | char devname[8]; | 67 | char devname[8]; |
@@ -75,6 +81,16 @@ struct ctlr_info | |||
75 | int num_luns; | 81 | int num_luns; |
76 | int highest_lun; | 82 | int highest_lun; |
77 | int usage_count; /* number of opens all all minor devices */ | 83 | int usage_count; /* number of opens all all minor devices */ |
84 | /* Need space for temp sg list | ||
85 | * number of scatter/gathers supported | ||
86 | * number of scatter/gathers in chained block | ||
87 | */ | ||
88 | struct scatterlist **scatter_list; | ||
89 | int maxsgentries; | ||
90 | int chainsize; | ||
91 | int max_cmd_sgentries; | ||
92 | struct Cmd_sg_list **cmd_sg_list; | ||
93 | |||
78 | # define DOORBELL_INT 0 | 94 | # define DOORBELL_INT 0 |
79 | # define PERF_MODE_INT 1 | 95 | # define PERF_MODE_INT 1 |
80 | # define SIMPLE_MODE_INT 2 | 96 | # define SIMPLE_MODE_INT 2 |