aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi
diff options
context:
space:
mode:
authoradam radford <aradford@gmail.com>2011-07-26 18:42:52 -0400
committerJames Bottomley <JBottomley@Parallels.com>2011-07-27 07:44:47 -0400
commit4bcde509a8fe664f2e688647d8427b6aedaa89b7 (patch)
treef4c7b0a8fade19647bc1d9f3799678d861d88b90 /drivers/scsi
parentdb21b6f41bf5a9ce335ced4b5feaa0ad04327003 (diff)
[SCSI] megaraid_sas: Add .change_queue_depth support
Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi')
-rw-r--r--drivers/scsi/megaraid/megaraid_sas_base.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c b/drivers/scsi/megaraid/megaraid_sas_base.c
index 2d8cdce7b2f5..c71922040539 100644
--- a/drivers/scsi/megaraid/megaraid_sas_base.c
+++ b/drivers/scsi/megaraid/megaraid_sas_base.c
@@ -54,6 +54,7 @@
54#include <scsi/scsi_cmnd.h> 54#include <scsi/scsi_cmnd.h>
55#include <scsi/scsi_device.h> 55#include <scsi/scsi_device.h>
56#include <scsi/scsi_host.h> 56#include <scsi/scsi_host.h>
57#include <scsi/scsi_tcq.h>
57#include "megaraid_sas_fusion.h" 58#include "megaraid_sas_fusion.h"
58#include "megaraid_sas.h" 59#include "megaraid_sas.h"
59 60
@@ -2057,6 +2058,20 @@ megasas_service_aen(struct megasas_instance *instance, struct megasas_cmd *cmd)
2057 } 2058 }
2058} 2059}
2059 2060
2061static int megasas_change_queue_depth(struct scsi_device *sdev,
2062 int queue_depth, int reason)
2063{
2064 if (reason != SCSI_QDEPTH_DEFAULT)
2065 return -EOPNOTSUPP;
2066
2067 if (queue_depth > sdev->host->can_queue)
2068 queue_depth = sdev->host->can_queue;
2069 scsi_adjust_queue_depth(sdev, scsi_get_tag_type(sdev),
2070 queue_depth);
2071
2072 return queue_depth;
2073}
2074
2060/* 2075/*
2061 * Scsi host template for megaraid_sas driver 2076 * Scsi host template for megaraid_sas driver
2062 */ 2077 */
@@ -2074,6 +2089,7 @@ static struct scsi_host_template megasas_template = {
2074 .eh_timed_out = megasas_reset_timer, 2089 .eh_timed_out = megasas_reset_timer,
2075 .bios_param = megasas_bios_param, 2090 .bios_param = megasas_bios_param,
2076 .use_clustering = ENABLE_CLUSTERING, 2091 .use_clustering = ENABLE_CLUSTERING,
2092 .change_queue_depth = megasas_change_queue_depth,
2077}; 2093};
2078 2094
2079/** 2095/**