Date: Fri, 12 Jan 2001 18:00:02 -0800 (PST) From: John Merryweather Cooper <jmcoopr@webmail.bmi.net> To: freebsd-bugs@FreeBSD.org Subject: Re: kern/23913: UDMA 66 Drive forced to PIO4 on DFI AK-74EC (VIA 686B) motherboard Message-ID: <200101130200.f0D202H46182@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/23913; it has been noted by GNATS. From: John Merryweather Cooper <jmcoopr@webmail.bmi.net> To: freebsd-gnats-submit@FreeBSD.org, jmcoopr@webmail.bmi.net Cc: Subject: Re: kern/23913: UDMA 66 Drive forced to PIO4 on DFI AK-74EC (VIA 686B) motherboard Date: Fri, 12 Jan 2001 17:55:55 -0800 Looking at ata-all.c and ata-disk.c, I believe the problem is two-fold: 1) the VIA 686B is NOT a VIA 686A -- in particular, the 686B supports UDMA Mode 5. However, no prevision is made to identify it based on the different revision number--appears to Rev. 0x40 on my machine as opposed to Rev. 0x0 for a 686A. Code needs to be added to ata-all to detect and properly initialize the 686B. 2) I believe the fallback logic -- going from UDMA mode straight to PIO 4 is a poor choice. Going to PIO 4 masks the existence of hardware errors (all PIO modes lack any sort of hardware error detection; whereas UDMA modes have CRC error detection). Particularly when initializing to UDMA modes 4 or 5, I believe the correct fallback should be to the next lower UDMA mode to preserve CRC error detection (and the reliability that it helps ensure) as long as possible. On the contrary for PIO devices though, the fallback should be PIO 0. In fact, I would appreciate a kernel option that allows me to force ATAPI devices like my ZIP drive to PIO 0 for this reason. YMMV. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200101130200.f0D202H46182>