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 /drivers/scsi/libsas | |
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 'drivers/scsi/libsas')
-rw-r--r-- | drivers/scsi/libsas/sas_scsi_host.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/scsi/libsas/sas_scsi_host.c b/drivers/scsi/libsas/sas_scsi_host.c index 1c558d3bce18..14b13196b22d 100644 --- a/drivers/scsi/libsas/sas_scsi_host.c +++ b/drivers/scsi/libsas/sas_scsi_host.c | |||
@@ -820,10 +820,14 @@ void sas_slave_destroy(struct scsi_device *scsi_dev) | |||
820 | ata_port_disable(dev->sata_dev.ap); | 820 | ata_port_disable(dev->sata_dev.ap); |
821 | } | 821 | } |
822 | 822 | ||
823 | int sas_change_queue_depth(struct scsi_device *scsi_dev, int new_depth) | 823 | int sas_change_queue_depth(struct scsi_device *scsi_dev, int new_depth, |
824 | int reason) | ||
824 | { | 825 | { |
825 | int res = min(new_depth, SAS_MAX_QD); | 826 | int res = min(new_depth, SAS_MAX_QD); |
826 | 827 | ||
828 | if (reason != SCSI_QDEPTH_DEFAULT) | ||
829 | return -EOPNOTSUPP; | ||
830 | |||
827 | if (scsi_dev->tagged_supported) | 831 | if (scsi_dev->tagged_supported) |
828 | scsi_adjust_queue_depth(scsi_dev, scsi_get_tag_type(scsi_dev), | 832 | scsi_adjust_queue_depth(scsi_dev, scsi_get_tag_type(scsi_dev), |
829 | res); | 833 | res); |