aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2011-09-20 18:10:55 -0400
committerJames Bottomley <JBottomley@Parallels.com>2011-10-02 13:39:48 -0400
commite211e2c7b6e7f470c818ef67c952954e1b46a46d (patch)
treeaa53972c703b9ae0340afb1d55daf9c9e2e4472a /drivers/scsi
parent97a1420d127ca1db2fd665707bf4e9501758147c (diff)
[SCSI] mvsas: remove mvs_slave_{alloc|configure}
libsas now handles: 1/ limiting ata scanning to lun0 2/ maximizing the queue_depth of sas devices (up to 256, mvsas only supports 64) 3/ changes to /sys/block/<sdX>/device/queue_depth for ata devices Acked-by: Xiangliang Yu <yuxiangl@marvell.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi')
-rw-r--r--drivers/scsi/mvsas/mv_init.c4
-rw-r--r--drivers/scsi/mvsas/mv_sas.c30
-rw-r--r--drivers/scsi/mvsas/mv_sas.h2
3 files changed, 2 insertions, 34 deletions
diff --git a/drivers/scsi/mvsas/mv_init.c b/drivers/scsi/mvsas/mv_init.c
index 4e9af66fd1d..052861bdacf 100644
--- a/drivers/scsi/mvsas/mv_init.c
+++ b/drivers/scsi/mvsas/mv_init.c
@@ -59,7 +59,7 @@ static struct scsi_host_template mvs_sht = {
59 .name = DRV_NAME, 59 .name = DRV_NAME,
60 .queuecommand = sas_queuecommand, 60 .queuecommand = sas_queuecommand,
61 .target_alloc = sas_target_alloc, 61 .target_alloc = sas_target_alloc,
62 .slave_configure = mvs_slave_configure, 62 .slave_configure = sas_slave_configure,
63 .slave_destroy = sas_slave_destroy, 63 .slave_destroy = sas_slave_destroy,
64 .scan_finished = mvs_scan_finished, 64 .scan_finished = mvs_scan_finished,
65 .scan_start = mvs_scan_start, 65 .scan_start = mvs_scan_start,
@@ -74,7 +74,7 @@ static struct scsi_host_template mvs_sht = {
74 .use_clustering = ENABLE_CLUSTERING, 74 .use_clustering = ENABLE_CLUSTERING,
75 .eh_device_reset_handler = sas_eh_device_reset_handler, 75 .eh_device_reset_handler = sas_eh_device_reset_handler,
76 .eh_bus_reset_handler = sas_eh_bus_reset_handler, 76 .eh_bus_reset_handler = sas_eh_bus_reset_handler,
77 .slave_alloc = mvs_slave_alloc, 77 .slave_alloc = sas_slave_alloc,
78 .target_destroy = sas_target_destroy, 78 .target_destroy = sas_target_destroy,
79 .ioctl = sas_ioctl, 79 .ioctl = sas_ioctl,
80 .shost_attrs = mvst_host_attrs, 80 .shost_attrs = mvst_host_attrs,
diff --git a/drivers/scsi/mvsas/mv_sas.c b/drivers/scsi/mvsas/mv_sas.c
index 4196eee33dc..f2ac01fd09c 100644
--- a/drivers/scsi/mvsas/mv_sas.c
+++ b/drivers/scsi/mvsas/mv_sas.c
@@ -276,36 +276,6 @@ static void mvs_bytes_dmaed(struct mvs_info *mvi, int i)
276 PORTE_BYTES_DMAED); 276 PORTE_BYTES_DMAED);
277} 277}
278 278
279int mvs_slave_alloc(struct scsi_device *scsi_dev)
280{
281 struct domain_device *dev = sdev_to_domain_dev(scsi_dev);
282 if (dev_is_sata(dev)) {
283 /* We don't need to rescan targets
284 * if REPORT_LUNS request is failed
285 */
286 if (scsi_dev->lun > 0)
287 return -ENXIO;
288 scsi_dev->tagged_supported = 1;
289 }
290
291 return sas_slave_alloc(scsi_dev);
292}
293
294int mvs_slave_configure(struct scsi_device *sdev)
295{
296 struct domain_device *dev = sdev_to_domain_dev(sdev);
297 int ret = sas_slave_configure(sdev);
298
299 if (ret)
300 return ret;
301 if (!dev_is_sata(dev)) {
302 sas_change_queue_depth(sdev,
303 MVS_QUEUE_SIZE,
304 SCSI_QDEPTH_DEFAULT);
305 }
306 return 0;
307}
308
309void mvs_scan_start(struct Scsi_Host *shost) 279void mvs_scan_start(struct Scsi_Host *shost)
310{ 280{
311 int i, j; 281 int i, j;
diff --git a/drivers/scsi/mvsas/mv_sas.h b/drivers/scsi/mvsas/mv_sas.h
index 44d7885a4a1..21ee8b06ce8 100644
--- a/drivers/scsi/mvsas/mv_sas.h
+++ b/drivers/scsi/mvsas/mv_sas.h
@@ -459,8 +459,6 @@ int mvs_phy_control(struct asd_sas_phy *sas_phy, enum phy_func func,
459 void *funcdata); 459 void *funcdata);
460void __devinit mvs_set_sas_addr(struct mvs_info *mvi, int port_id, 460void __devinit mvs_set_sas_addr(struct mvs_info *mvi, int port_id,
461 u32 off_lo, u32 off_hi, u64 sas_addr); 461 u32 off_lo, u32 off_hi, u64 sas_addr);
462int mvs_slave_alloc(struct scsi_device *scsi_dev);
463int mvs_slave_configure(struct scsi_device *sdev);
464void mvs_scan_start(struct Scsi_Host *shost); 462void mvs_scan_start(struct Scsi_Host *shost);
465int mvs_scan_finished(struct Scsi_Host *shost, unsigned long time); 463int mvs_scan_finished(struct Scsi_Host *shost, unsigned long time);
466int mvs_queue_command(struct sas_task *task, const int num, 464int mvs_queue_command(struct sas_task *task, const int num,