diff options
author | Hannes Reinecke <hare@suse.de> | 2014-11-05 07:08:20 -0500 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2014-11-05 11:22:06 -0500 |
commit | 1cbd772d9aaf6c697935cb855860b66cebacf950 (patch) | |
tree | fe83656bbb9a39f4a8b85ebb6afce18b05492840 /drivers/scsi/aic94xx | |
parent | 9a23c1d6f0f5dbac4c9b73fa6cea7c9ee3d29074 (diff) |
libsas: use ata_dev_classify()
Use the ata device class from libata in libsas instead of checking
the supported command set and switch to using ata_dev_classify()
instead of our own method.
Cc: Tejun Heo <tj@kernel.org>
Cc: Dan Williams <dan.j.williams@intel.com>
Acked-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'drivers/scsi/aic94xx')
-rw-r--r-- | drivers/scsi/aic94xx/aic94xx_task.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/scsi/aic94xx/aic94xx_task.c b/drivers/scsi/aic94xx/aic94xx_task.c index 59b86e260ce9..7abbe42e862e 100644 --- a/drivers/scsi/aic94xx/aic94xx_task.c +++ b/drivers/scsi/aic94xx/aic94xx_task.c | |||
@@ -373,10 +373,10 @@ static int asd_build_ata_ascb(struct asd_ascb *ascb, struct sas_task *task, | |||
373 | 373 | ||
374 | if (unlikely(task->ata_task.device_control_reg_update)) | 374 | if (unlikely(task->ata_task.device_control_reg_update)) |
375 | scb->header.opcode = CONTROL_ATA_DEV; | 375 | scb->header.opcode = CONTROL_ATA_DEV; |
376 | else if (dev->sata_dev.command_set == ATA_COMMAND_SET) | 376 | else if (dev->sata_dev.class == ATA_DEV_ATAPI) |
377 | scb->header.opcode = INITIATE_ATA_TASK; | ||
378 | else | ||
379 | scb->header.opcode = INITIATE_ATAPI_TASK; | 377 | scb->header.opcode = INITIATE_ATAPI_TASK; |
378 | else | ||
379 | scb->header.opcode = INITIATE_ATA_TASK; | ||
380 | 380 | ||
381 | scb->ata_task.proto_conn_rate = (1 << 5); /* STP */ | 381 | scb->ata_task.proto_conn_rate = (1 << 5); /* STP */ |
382 | if (dev->port->oob_mode == SAS_OOB_MODE) | 382 | if (dev->port->oob_mode == SAS_OOB_MODE) |
@@ -387,7 +387,7 @@ static int asd_build_ata_ascb(struct asd_ascb *ascb, struct sas_task *task, | |||
387 | if (likely(!task->ata_task.device_control_reg_update)) | 387 | if (likely(!task->ata_task.device_control_reg_update)) |
388 | scb->ata_task.fis.flags |= 0x80; /* C=1: update ATA cmd reg */ | 388 | scb->ata_task.fis.flags |= 0x80; /* C=1: update ATA cmd reg */ |
389 | scb->ata_task.fis.flags &= 0xF0; /* PM_PORT field shall be 0 */ | 389 | scb->ata_task.fis.flags &= 0xF0; /* PM_PORT field shall be 0 */ |
390 | if (dev->sata_dev.command_set == ATAPI_COMMAND_SET) | 390 | if (dev->sata_dev.class == ATA_DEV_ATAPI) |
391 | memcpy(scb->ata_task.atapi_packet, task->ata_task.atapi_packet, | 391 | memcpy(scb->ata_task.atapi_packet, task->ata_task.atapi_packet, |
392 | 16); | 392 | 16); |
393 | scb->ata_task.sister_scb = cpu_to_le16(0xFFFF); | 393 | scb->ata_task.sister_scb = cpu_to_le16(0xFFFF); |
@@ -399,7 +399,7 @@ static int asd_build_ata_ascb(struct asd_ascb *ascb, struct sas_task *task, | |||
399 | if (task->ata_task.dma_xfer) | 399 | if (task->ata_task.dma_xfer) |
400 | flags |= DATA_XFER_MODE_DMA; | 400 | flags |= DATA_XFER_MODE_DMA; |
401 | if (task->ata_task.use_ncq && | 401 | if (task->ata_task.use_ncq && |
402 | dev->sata_dev.command_set != ATAPI_COMMAND_SET) | 402 | dev->sata_dev.class != ATA_DEV_ATAPI) |
403 | flags |= ATA_Q_TYPE_NCQ; | 403 | flags |= ATA_Q_TYPE_NCQ; |
404 | flags |= data_dir_flags[task->data_dir]; | 404 | flags |= data_dir_flags[task->data_dir]; |
405 | scb->ata_task.ata_flags = flags; | 405 | scb->ata_task.ata_flags = flags; |