summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorHannes Reinecke <hare@suse.de>2016-07-14 09:05:48 +0900
committerTejun Heo <tj@kernel.org>2016-07-15 08:08:13 -0400
commit5b844b63ddfb65aef923eaabe0420196fd71dd13 (patch)
tree6bc13465e720117bdeb105fd0e8df481c2fe2711 /include
parent5b51ba6178f5502e6ab1bba75e91a365bc4c718b (diff)
ata: Handle ATA NCQ NO-DATA commands correctly
Add a new taskfile protocol ATA_PROT_NCQ_NODATA to handle ATA NCQ NO-DATA commands correctly. And fixup ata_scsi_zbc_out_xlat() to use it. Signed-off-by: Hannes Reinecke <hare@suse.com> Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/ata.h1
-rw-r--r--include/linux/libata.h2
-rw-r--r--include/trace/events/libata.h1
3 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/ata.h b/include/linux/ata.h
index d20b1ee127b0..35857d1f15c8 100644
--- a/include/linux/ata.h
+++ b/include/linux/ata.h
@@ -530,6 +530,7 @@ enum ata_tf_protocols {
ATA_PROT_PIO, /* PIO data xfer */
ATA_PROT_DMA, /* DMA */
ATA_PROT_NCQ, /* NCQ */
+ ATA_PROT_NCQ_NODATA, /* NCQ no data */
ATAPI_PROT_NODATA, /* packet command, no data */
ATAPI_PROT_PIO, /* packet command, PIO data xfer*/
ATAPI_PROT_DMA, /* packet command with special DMA sauce */
diff --git a/include/linux/libata.h b/include/linux/libata.h
index 4e5a09c6dc10..1abd6690c776 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -1053,6 +1053,8 @@ static inline unsigned int ata_prot_flags(u8 prot)
return ATA_PROT_FLAG_DMA;
case ATA_PROT_NCQ:
return ATA_PROT_FLAG_DMA | ATA_PROT_FLAG_NCQ;
+ case ATA_PROT_NCQ_NODATA:
+ return ATA_PROT_FLAG_NCQ;
case ATAPI_PROT_NODATA:
return ATA_PROT_FLAG_ATAPI;
case ATAPI_PROT_PIO:
diff --git a/include/trace/events/libata.h b/include/trace/events/libata.h
index 75fff8696bae..2fbbf990e4b3 100644
--- a/include/trace/events/libata.h
+++ b/include/trace/events/libata.h
@@ -126,6 +126,7 @@
ata_protocol_name(ATA_PROT_PIO), \
ata_protocol_name(ATA_PROT_DMA), \
ata_protocol_name(ATA_PROT_NCQ), \
+ ata_protocol_name(ATA_PROT_NCQ_NODATA), \
ata_protocol_name(ATAPI_PROT_NODATA), \
ata_protocol_name(ATAPI_PROT_PIO), \
ata_protocol_name(ATAPI_PROT_DMA))