aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/vmw_pvscsi.h
diff options
context:
space:
mode:
authorRishi Mehta <rmehta@vmware.com>2014-03-11 16:51:33 -0400
committerJames Bottomley <JBottomley@Parallels.com>2014-03-19 18:04:45 -0400
commit2a815b5ac374d670f347f2d3a39db07105715398 (patch)
tree8be49db5de5327ac0271efbe3fee7cb6560a2b2f /drivers/scsi/vmw_pvscsi.h
parenta2713cceb3a8efef8b86bec06f10689c95ddbc8c (diff)
[SCSI] vmw_pvscsi: Add support for I/O requests coalescing.
This change allows pvscsi driver to coalesce I/O requests before issuing them. The number of I/O's coalesced can be dynamically configured based on the workload. Signed-off-by: Rishi Mehta <rmehta@vmware.com> Signed-off-by: Arvind Kumar <arvindkumar@vmware.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/vmw_pvscsi.h')
-rw-r--r--drivers/scsi/vmw_pvscsi.h17
1 files changed, 14 insertions, 3 deletions
diff --git a/drivers/scsi/vmw_pvscsi.h b/drivers/scsi/vmw_pvscsi.h
index a6437758384f..15a9ac68a50b 100644
--- a/drivers/scsi/vmw_pvscsi.h
+++ b/drivers/scsi/vmw_pvscsi.h
@@ -26,7 +26,7 @@
26 26
27#include <linux/types.h> 27#include <linux/types.h>
28 28
29#define PVSCSI_DRIVER_VERSION_STRING "1.0.3.0-k" 29#define PVSCSI_DRIVER_VERSION_STRING "1.0.4.0-k"
30 30
31#define PVSCSI_MAX_NUM_SG_ENTRIES_PER_SEGMENT 128 31#define PVSCSI_MAX_NUM_SG_ENTRIES_PER_SEGMENT 128
32 32
@@ -117,8 +117,9 @@ enum PVSCSICommands {
117 PVSCSI_CMD_CONFIG = 7, 117 PVSCSI_CMD_CONFIG = 7,
118 PVSCSI_CMD_SETUP_MSG_RING = 8, 118 PVSCSI_CMD_SETUP_MSG_RING = 8,
119 PVSCSI_CMD_DEVICE_UNPLUG = 9, 119 PVSCSI_CMD_DEVICE_UNPLUG = 9,
120 PVSCSI_CMD_SETUP_REQCALLTHRESHOLD = 10,
120 121
121 PVSCSI_CMD_LAST = 10 /* has to be last */ 122 PVSCSI_CMD_LAST = 11 /* has to be last */
122}; 123};
123 124
124/* 125/*
@@ -141,6 +142,14 @@ struct PVSCSICmdDescConfigCmd {
141 u32 _pad; 142 u32 _pad;
142} __packed; 143} __packed;
143 144
145/*
146 * Command descriptor for PVSCSI_CMD_SETUP_REQCALLTHRESHOLD --
147 */
148
149struct PVSCSICmdDescSetupReqCall {
150 u32 enable;
151} __packed;
152
144enum PVSCSIConfigPageType { 153enum PVSCSIConfigPageType {
145 PVSCSI_CONFIG_PAGE_CONTROLLER = 0x1958, 154 PVSCSI_CONFIG_PAGE_CONTROLLER = 0x1958,
146 PVSCSI_CONFIG_PAGE_PHY = 0x1959, 155 PVSCSI_CONFIG_PAGE_PHY = 0x1959,
@@ -261,7 +270,9 @@ struct PVSCSIRingsState {
261 u32 cmpConsIdx; 270 u32 cmpConsIdx;
262 u32 cmpNumEntriesLog2; 271 u32 cmpNumEntriesLog2;
263 272
264 u8 _pad[104]; 273 u32 reqCallThreshold;
274
275 u8 _pad[100];
265 276
266 u32 msgProdIdx; 277 u32 msgProdIdx;
267 u32 msgConsIdx; 278 u32 msgConsIdx;