diff options
Diffstat (limited to 'drivers/scsi/libsas')
-rw-r--r-- | drivers/scsi/libsas/sas_scsi_host.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/scsi/libsas/sas_scsi_host.c b/drivers/scsi/libsas/sas_scsi_host.c index 3220b3fc6b20..274e7eb47f37 100644 --- a/drivers/scsi/libsas/sas_scsi_host.c +++ b/drivers/scsi/libsas/sas_scsi_host.c | |||
@@ -828,8 +828,14 @@ static unsigned int sas_ata_qc_issue(struct ata_queued_cmd *qc) | |||
828 | task->ata_task.retry_count = 1; | 828 | task->ata_task.retry_count = 1; |
829 | task->task_state_flags = SAS_TASK_STATE_PENDING; | 829 | task->task_state_flags = SAS_TASK_STATE_PENDING; |
830 | 830 | ||
831 | if (qc->tf.protocol == ATA_PROT_DMA) | 831 | switch (qc->tf.protocol) { |
832 | case ATA_PROT_NCQ: | ||
833 | task->ata_task.use_ncq = 1; | ||
834 | /* fall through */ | ||
835 | case ATA_PROT_DMA: | ||
832 | task->ata_task.dma_xfer = 1; | 836 | task->ata_task.dma_xfer = 1; |
837 | break; | ||
838 | } | ||
833 | 839 | ||
834 | if (sas_ha->lldd_max_execute_num < 2) | 840 | if (sas_ha->lldd_max_execute_num < 2) |
835 | res = i->dft->lldd_execute_task(task, 1, GFP_ATOMIC); | 841 | res = i->dft->lldd_execute_task(task, 1, GFP_ATOMIC); |
@@ -962,7 +968,7 @@ static struct ata_port_operations sas_sata_ops = { | |||
962 | 968 | ||
963 | static struct ata_port_info sata_port_info = { | 969 | static struct ata_port_info sata_port_info = { |
964 | .flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | ATA_FLAG_SATA_RESET | | 970 | .flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | ATA_FLAG_SATA_RESET | |
965 | ATA_FLAG_MMIO | ATA_FLAG_PIO_DMA, | 971 | ATA_FLAG_MMIO | ATA_FLAG_PIO_DMA | ATA_FLAG_NCQ, |
966 | .pio_mask = 0x1f, /* PIO0-4 */ | 972 | .pio_mask = 0x1f, /* PIO0-4 */ |
967 | .mwdma_mask = 0x07, /* MWDMA0-2 */ | 973 | .mwdma_mask = 0x07, /* MWDMA0-2 */ |
968 | .udma_mask = ATA_UDMA6, | 974 | .udma_mask = ATA_UDMA6, |
@@ -1031,6 +1037,7 @@ int sas_target_alloc(struct scsi_target *starget) | |||
1031 | 1037 | ||
1032 | ap->private_data = found_dev; | 1038 | ap->private_data = found_dev; |
1033 | ap->cbl = ATA_CBL_SATA; | 1039 | ap->cbl = ATA_CBL_SATA; |
1040 | ap->scsi_host = shost; | ||
1034 | found_dev->sata_dev.ap = ap; | 1041 | found_dev->sata_dev.ap = ap; |
1035 | } | 1042 | } |
1036 | 1043 | ||