aboutsummaryrefslogtreecommitdiff
path: root/sys/sys/ata.h
diff options
context:
space:
mode:
authorAlexander Motin <mav@FreeBSD.org>2015-08-08 11:48:11 +0000
committerAlexander Motin <mav@FreeBSD.org>2015-08-08 11:48:11 +0000
commit709c835a5adc6269b98ec4156a85a3e4e45dc578 (patch)
treecccd08f42b2646f57e412fd838cc4d74f2d30aba /sys/sys/ata.h
parentbac1eac93cda72800004267eb738214af903de06 (diff)
downloadsrc-709c835a5adc6269b98ec4156a85a3e4e45dc578.tar.gz
src-709c835a5adc6269b98ec4156a85a3e4e45dc578.zip
Disable 32-bit PIO for 6Gbit/s Intel SATA controllers.
For some reason 32-bit PIO writes are not working on 6Gbit/s Intel SATA ports, while 16/32-bit PIO reads and 16-bit PIO writes are working fine. 3Gbit/s ports on the same controllers have no this problem. Workaround this by disabling 32-bit PIO for all Intel controllers that may have 6Gbit/s ports. It halves PIO performance from 6MB/s to 3MB/s, but who bother about speed of such rare and slow mode, which is also highly discouraged by SATA specifications? MFC after: 2 weeks
Notes
Notes: svn path=/head/; revision=286448
Diffstat (limited to 'sys/sys/ata.h')
-rw-r--r--sys/sys/ata.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/sys/ata.h b/sys/sys/ata.h
index 2fa7e161cb1d..863f0e8d61ab 100644
--- a/sys/sys/ata.h
+++ b/sys/sys/ata.h
@@ -335,6 +335,7 @@ struct ata_params {
#define ATA_UDMA6 0x46
#define ATA_SA150 0x47
#define ATA_SA300 0x48
+#define ATA_SA600 0x49
#define ATA_DMA_MAX 0x4f