summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2008-11-03 19:01:09 +0900
committerJeff Garzik <jgarzik@redhat.com>2008-11-04 01:08:27 -0500
commit6a87e42e955ff27e07a77f65f8f077dc7c4171e1 (patch)
treee5d50b2b91c17c6719b75bbd88ea5cbed4130304 /include
parenta464189de350b050aa8f334bd4cc53ed406e56dd (diff)
downloadlinux-3.10-6a87e42e955ff27e07a77f65f8f077dc7c4171e1.tar.gz
linux-3.10-6a87e42e955ff27e07a77f65f8f077dc7c4171e1.tar.bz2
linux-3.10-6a87e42e955ff27e07a77f65f8f077dc7c4171e1.zip
libata: implement ATA_HORKAGE_ATAPI_MOD16_DMA and apply it
libata always uses PIO for ATAPI commands when the number of bytes to transfer isn't multiple of 16 but quantum DAT72 chokes on odd bytes PIO transfers. Implement a horkage to skip the mod16 check and apply it to the quantum device. This is reported by John Clark in the following thread. http://thread.gmane.org/gmane.linux.ide/34748 Signed-off-by: Tejun Heo <tj@kernel.org> Cc: John Clark <clarkjc@runbox.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/libata.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h
index f5441edee55..c7665a4134c 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -373,6 +373,8 @@ enum {
ATA_HORKAGE_IVB = (1 << 8), /* cbl det validity bit bugs */
ATA_HORKAGE_STUCK_ERR = (1 << 9), /* stuck ERR on next PACKET */
ATA_HORKAGE_BRIDGE_OK = (1 << 10), /* no bridge limits */
+ ATA_HORKAGE_ATAPI_MOD16_DMA = (1 << 11), /* use ATAPI DMA for commands
+ not multiple of 16 bytes */
/* DMA mask for user DMA control: User visible values; DO NOT
renumber */