]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC r286448: Disable 32-bit PIO for 6Gbit/s Intel SATA controllers.
authormav <mav@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sat, 22 Aug 2015 07:45:49 +0000 (07:45 +0000)
committermav <mav@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sat, 22 Aug 2015 07:45:49 +0000 (07:45 +0000)
commitd9b58a3745b31691659ab80ac1a39f0c2547c28d
treee7cdb1c4330c5abd2a607d96cc7180a3795f2b44
parent3771e2bb45690b6abb328204b87b7d10dec06477
MFC r286448: 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?

git-svn-id: svn://svn.freebsd.org/base/stable/10@287022 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/dev/ata/ata-all.c
sys/dev/ata/chipsets/ata-intel.c
sys/sys/ata.h