From owner-freebsd-current Fri Feb 26 12:28:48 1999 Delivered-To: freebsd-current@freebsd.org Received: from freebsd.dk (freebsd.dk [212.242.42.178]) by hub.freebsd.org (Postfix) with ESMTP id C21E414FFC for ; Fri, 26 Feb 1999 12:28:38 -0800 (PST) (envelope-from sos@freebsd.dk) Received: (from sos@localhost) by freebsd.dk (8.9.1/8.9.1) id VAA73138; Fri, 26 Feb 1999 21:27:14 +0100 (CET) (envelope-from sos) From: Søren Schmidt Message-Id: <199902262027.VAA73138@freebsd.dk> Subject: Re: IDE CDROM not found with PIIX4 chipset, -current kernel In-Reply-To: <36D6E315.91969389@newsguy.com> from "Daniel C. Sobral" at "Feb 27, 1999 3: 8:21 am" To: dcs@newsguy.com (Daniel C. Sobral) Date: Fri, 26 Feb 1999 21:27:14 +0100 (CET) Cc: sheldonh@iafrica.com, beyssac@enst.fr, grog@lemis.com, freebsd-current@FreeBSD.ORG X-Mailer: ELM [version 2.4ME+ PL43 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG It seems Daniel C. Sobral wrote: > On the code: > > > ireason = inb (ata->port + AR_IREASON); > > ac->result.status = inb (ata->port + AR_STATUS); > > phase = (ireason & (ARI_CMD | ARI_IN)) | > > - (ac->result.status & ARS_DRQ); > > + (ac->result.status & (ARS_DRQ|ARS_BSY)); > > if (phase == PHASE_CMDOUT) > > break; > > DELAY (10); > > The missing delay is not relevant. (Or, at least, I hope acd is not > missing delays in wait loops!) > > The problem is the ARS_BSY signal. If my memory doesn't fail me, if > ARS_BSY is active, then the other signals may contain trash. In this > particular loop, ARS_BSY could be active, but it wasn't being > checked for, on the assumption that ARS_DRQ would only be up (down?) > when the operation completed. This has been in there for ages, if the PR is still open it should be closed. Be patient though, I'm working as much as I can on the (really) new subsystem, and I hope to release the first snaps soon... -Søren To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message