From owner-freebsd-current Sat Dec 18 15:58:40 1999 Delivered-To: freebsd-current@freebsd.org Received: from test.tar.com (test.tar.com [204.95.187.4]) by hub.freebsd.org (Postfix) with ESMTP id 4BC5B14CC5 for ; Sat, 18 Dec 1999 15:58:38 -0800 (PST) (envelope-from dick@test.tar.com) Received: (from dick@localhost) by test.tar.com (8.9.3/8.9.3) id RAA01430; Sat, 18 Dec 1999 17:58:28 -0600 (CST) (envelope-from dick) Date: Sat, 18 Dec 1999 17:58:28 -0600 From: "Richard Seaman, Jr." To: Martin Blapp Cc: Soren Schmidt , current@FreeBSD.ORG Subject: Re: ATA driver problem?? (lost disk contact) Message-ID: <19991218175828.C317@tar.com> References: <199912182002.VAA32495@freebsd.dk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0i In-Reply-To: ; from mb@imp.ch on Sat, Dec 18, 1999 at 11:20:51PM +0100 Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Sat, Dec 18, 1999 at 11:20:51PM +0100, Martin Blapp wrote: > > Sorry, > > I found a rather easy workaround. Disable DMA for > the disks in the BIOS ... But I still wonder why > enable/disable ATA DMA in kernel has no effect for > this crash. Why does only the BIOS disable help ? Purely a wild guess on my part: If the BIOS is set to enable UDMA, then the bios sets both the controller and the disk for UDMA. But, the ata driver tries to set the disk to WDMA2 mode for "generic drivers". If the controller is set for UDMA and the disk for WDMA2, they might have problems communicating (the "generic driver" doesn't try to mess with the controller settings, I don't think). However, if the BIOS sets the disk and the controller to PIO, then when the ata drivers uses the "generic" treatment to set the disk to WDMA2, this works since PIO and WDMA2 have similar timings. As I said, this is purely a wild guess from someone who understands all this poorly. -- Richard Seaman, Jr. email: dick@tar.com 5182 N. Maple Lane phone: 262-367-5450 Chenequa WI 53058 fax: 262-367-5852 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message