diff options
author | Dan Williams <dan.j.williams@intel.com> | 2011-09-20 18:10:55 -0400 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2011-10-02 13:39:48 -0400 |
commit | e211e2c7b6e7f470c818ef67c952954e1b46a46d (patch) | |
tree | aa53972c703b9ae0340afb1d55daf9c9e2e4472a /drivers/scsi/mvsas | |
parent | 97a1420d127ca1db2fd665707bf4e9501758147c (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/mvsas')
-rw-r--r-- | drivers/scsi/mvsas/mv_init.c | 4 | ||||
-rw-r--r-- | drivers/scsi/mvsas/mv_sas.c | 30 | ||||
-rw-r--r-- | drivers/scsi/mvsas/mv_sas.h | 2 |
3 files changed, 2 insertions, 34 deletions
diff --git a/drivers/scsi/mvsas/mv_init.c b/drivers/scsi/mvsas/mv_init.c index 4e9af66fd1d3..052861bdacfc 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 4196eee33dc9..f2ac01fd09c0 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 | ||
279 | int 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 | |||
294 | int 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 | |||
309 | void mvs_scan_start(struct Scsi_Host *shost) | 279 | void 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 44d7885a4a1d..21ee8b06ce85 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); |
460 | void __devinit mvs_set_sas_addr(struct mvs_info *mvi, int port_id, | 460 | void __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); |
462 | int mvs_slave_alloc(struct scsi_device *scsi_dev); | ||
463 | int mvs_slave_configure(struct scsi_device *sdev); | ||
464 | void mvs_scan_start(struct Scsi_Host *shost); | 462 | void mvs_scan_start(struct Scsi_Host *shost); |
465 | int mvs_scan_finished(struct Scsi_Host *shost, unsigned long time); | 463 | int mvs_scan_finished(struct Scsi_Host *shost, unsigned long time); |
466 | int mvs_queue_command(struct sas_task *task, const int num, | 464 | int mvs_queue_command(struct sas_task *task, const int num, |