[SCSI] megaraid_sas: Add .change_queue_depth support
Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
This commit is contained in:
committed by
James Bottomley
parent
db21b6f41b
commit
4bcde509a8
@@ -54,6 +54,7 @@
|
|||||||
#include <scsi/scsi_cmnd.h>
|
#include <scsi/scsi_cmnd.h>
|
||||||
#include <scsi/scsi_device.h>
|
#include <scsi/scsi_device.h>
|
||||||
#include <scsi/scsi_host.h>
|
#include <scsi/scsi_host.h>
|
||||||
|
#include <scsi/scsi_tcq.h>
|
||||||
#include "megaraid_sas_fusion.h"
|
#include "megaraid_sas_fusion.h"
|
||||||
#include "megaraid_sas.h"
|
#include "megaraid_sas.h"
|
||||||
|
|
||||||
@@ -2057,6 +2058,20 @@ megasas_service_aen(struct megasas_instance *instance, struct megasas_cmd *cmd)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int megasas_change_queue_depth(struct scsi_device *sdev,
|
||||||
|
int queue_depth, int reason)
|
||||||
|
{
|
||||||
|
if (reason != SCSI_QDEPTH_DEFAULT)
|
||||||
|
return -EOPNOTSUPP;
|
||||||
|
|
||||||
|
if (queue_depth > sdev->host->can_queue)
|
||||||
|
queue_depth = sdev->host->can_queue;
|
||||||
|
scsi_adjust_queue_depth(sdev, scsi_get_tag_type(sdev),
|
||||||
|
queue_depth);
|
||||||
|
|
||||||
|
return queue_depth;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Scsi host template for megaraid_sas driver
|
* Scsi host template for megaraid_sas driver
|
||||||
*/
|
*/
|
||||||
@@ -2074,6 +2089,7 @@ static struct scsi_host_template megasas_template = {
|
|||||||
.eh_timed_out = megasas_reset_timer,
|
.eh_timed_out = megasas_reset_timer,
|
||||||
.bios_param = megasas_bios_param,
|
.bios_param = megasas_bios_param,
|
||||||
.use_clustering = ENABLE_CLUSTERING,
|
.use_clustering = ENABLE_CLUSTERING,
|
||||||
|
.change_queue_depth = megasas_change_queue_depth,
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user