From owner-freebsd-bugs Fri Jan 12 18: 0:19 2001 Delivered-To: freebsd-bugs@hub.freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 842A137B402 for ; Fri, 12 Jan 2001 18:00:02 -0800 (PST) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.1/8.11.1) id f0D202H46182; Fri, 12 Jan 2001 18:00:02 -0800 (PST) (envelope-from gnats) Date: Fri, 12 Jan 2001 18:00:02 -0800 (PST) Message-Id: <200101130200.f0D202H46182@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org Cc: From: John Merryweather Cooper Subject: Re: kern/23913: UDMA 66 Drive forced to PIO4 on DFI AK-74EC (VIA 686B) motherboard Reply-To: John Merryweather Cooper Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org The following reply was made to PR kern/23913; it has been noted by GNATS. From: John Merryweather Cooper 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