summaryrefslogtreecommitdiff
path: root/drivers/block/cciss.h
diff options
context:
space:
mode:
authorDon Brace <brace@beardog.cce.hp.com>2009-11-12 21:50:01 +0300
committerJens Axboe <jens.axboe@oracle.com>2009-11-13 10:45:54 +0300
commit5c07a311a80adb0138fc08e8279c60255d88d0b8 (patch)
tree1746b4ec4b7ea1f2f02b34d5c0adc86dc8e0d97f /drivers/block/cciss.h
parentda0021841c3ea6a82588efae3260015847ea5d33 (diff)
downloadlinux-5c07a311a80adb0138fc08e8279c60255d88d0b8.tar.xz
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.h18
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
char device_initialized; /* indicates whether dev is initialized */
} drive_info_struct;
-struct ctlr_info
+struct Cmd_sg_list {
+ SGDescriptor_struct *sgchain;
+ dma64_addr_t sg_chain_dma;
+ int chain_block_size;
+};
+
+struct ctlr_info
{
int ctlr;
char devname[8];
@@ -75,6 +81,16 @@ struct ctlr_info
int num_luns;
int highest_lun;
int usage_count; /* number of opens all all minor devices */
+ /* Need space for temp sg list
+ * number of scatter/gathers supported
+ * number of scatter/gathers in chained block
+ */
+ struct scatterlist **scatter_list;
+ int maxsgentries;
+ int chainsize;
+ int max_cmd_sgentries;
+ struct Cmd_sg_list **cmd_sg_list;
+
# define DOORBELL_INT 0
# define PERF_MODE_INT 1
# define SIMPLE_MODE_INT 2