From owner-freebsd-current Mon Dec 21 00:57:57 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id AAA24614 for freebsd-current-outgoing; Mon, 21 Dec 1998 00:57:57 -0800 (PST) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from dingo.cdrom.com (castles336.castles.com [208.214.167.36]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id AAA24604 for ; Mon, 21 Dec 1998 00:57:51 -0800 (PST) (envelope-from mike@dingo.cdrom.com) Received: from dingo.cdrom.com (LOCALHOST [127.0.0.1]) by dingo.cdrom.com (8.9.1/8.8.8) with ESMTP id AAA50852; Mon, 21 Dec 1998 00:55:25 -0800 (PST) (envelope-from mike@dingo.cdrom.com) Message-Id: <199812210855.AAA50852@dingo.cdrom.com> X-Mailer: exmh version 2.0.2 2/24/98 To: lcremean@tidalwave.net cc: current@FreeBSD.ORG Subject: Re: Acer UDMA status report In-reply-to: Your message of "Mon, 21 Dec 1998 03:47:41 EST." <19981221034741.A958@tidalwave.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Mon, 21 Dec 1998 00:55:24 -0800 From: Mike Smith Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > I've done some more experimentation, and it seems that what is happening is > that reads work just fine (I get 13MB/s sustained from my Seagate Medalist > Pro 9140). However, if I do anything that writes to the drive, the interrupt > timeouts start. I'm not sure what I'm doing wrong here, since the UDMA > switches seem to be set correctly, and while Acer's documentation covers the > bits in the registers to set, it doesn't go into detail as to which > registers go together, or if there is anything else needed to make UDMA work > reliably. Ick. Have you tried talking to Acer? They've been pretty helpful recently; you ought to be able to get some help from them without too much trouble, especially if you sort of pretend to be official... > PS: I did find a bug in the unit handling for DMA-detected drives. Here > goes: > > *** ide_pci.c Mon Dec 14 00:49:04 1998 > --- ide_pci.c.new Mon Dec 21 03:42:10 1998 > *************** > *** 1195,1201 **** > > cp = softc.cookies.lh_first; > while(cp) { > ! if (cp->ctlr == unit && > ((iobase_wd == 0) || (cp->iobase_wd == iobase_wd))) > break; > cp = cp->le.le_next; > --- 1253,1259 ---- > > cp = softc.cookies.lh_first; > while(cp) { > ! if (cp->unit == unit && > ((iobase_wd == 0) || (cp->iobase_wd == iobase_wd))) > break; > cp = cp->le.le_next; > > A PR for this will be forthcoming... Don't bother; unless I'm missing something you're quite right here, so I've committed it. -- \\ Sometimes you're ahead, \\ Mike Smith \\ sometimes you're behind. \\ mike@smith.net.au \\ The race is long, and in the \\ msmith@freebsd.org \\ end it's only with yourself. \\ msmith@cdrom.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message