diff options
author | Alexander Motin <mav@FreeBSD.org> | 2015-08-08 11:48:11 +0000 |
---|---|---|
committer | Alexander Motin <mav@FreeBSD.org> | 2015-08-08 11:48:11 +0000 |
commit | 709c835a5adc6269b98ec4156a85a3e4e45dc578 (patch) | |
tree | cccd08f42b2646f57e412fd838cc4d74f2d30aba /sys/sys/ata.h | |
parent | bac1eac93cda72800004267eb738214af903de06 (diff) | |
download | src-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.h | 1 |
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 |