diff options
author | Mike Christie <michaelc@cs.wisc.edu> | 2009-10-15 20:46:39 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2009-12-04 13:00:41 -0500 |
commit | e881a172dac4d9ea3b2a1540041d872963c269bd (patch) | |
tree | 9eb1f344b107806c0041c4e0a64192a055117289 /include/scsi/scsi_host.h | |
parent | dbf9bfe615717d1145f263c0049fe2328e6ed395 (diff) |
[SCSI] modify change_queue_depth to take in reason why it is being called
This patch modifies scsi_host_template->change_queue_depth so that
it takes an argument indicating why it is being called. This will be
used so that if a LLD needs to do some extra processing when
handling queue fulls or later ramp ups, it can do so.
This is a simple port of the drivers setting a change_queue_depth
callback. In the patch I just have these LLDs adjust the queue depth
if the user was requesting it.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
[Vasu.Dev: v2
Also converted pmcraid_change_queue_depth and then verified
all modules compile using "make allmodconfig" for any new build
warnings on X86_64.
Updated original description after combing two original
patches from Mike to make this patch git bisectable.]
Signed-off-by: Vasu Dev <vasu.dev@intel.com>
[jejb: fixed up 53c700]
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'include/scsi/scsi_host.h')
-rw-r--r-- | include/scsi/scsi_host.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/include/scsi/scsi_host.h b/include/scsi/scsi_host.h index 6e728b176904..603054d8f40c 100644 --- a/include/scsi/scsi_host.h +++ b/include/scsi/scsi_host.h | |||
@@ -43,6 +43,12 @@ struct blk_queue_tags; | |||
43 | #define DISABLE_CLUSTERING 0 | 43 | #define DISABLE_CLUSTERING 0 |
44 | #define ENABLE_CLUSTERING 1 | 44 | #define ENABLE_CLUSTERING 1 |
45 | 45 | ||
46 | enum { | ||
47 | SCSI_QDEPTH_DEFAULT, /* default requested change, e.g. from sysfs */ | ||
48 | SCSI_QDEPTH_QFULL, /* scsi-ml requested due to queue full */ | ||
49 | SCSI_QDEPTH_RAMP_UP, /* scsi-ml requested due to threshhold event */ | ||
50 | }; | ||
51 | |||
46 | struct scsi_host_template { | 52 | struct scsi_host_template { |
47 | struct module *module; | 53 | struct module *module; |
48 | const char *name; | 54 | const char *name; |
@@ -294,7 +300,7 @@ struct scsi_host_template { | |||
294 | * | 300 | * |
295 | * Status: OPTIONAL | 301 | * Status: OPTIONAL |
296 | */ | 302 | */ |
297 | int (* change_queue_depth)(struct scsi_device *, int); | 303 | int (* change_queue_depth)(struct scsi_device *, int, int); |
298 | 304 | ||
299 | /* | 305 | /* |
300 | * Fill in this function to allow the changing of tag types | 306 | * Fill in this function to allow the changing of tag types |