From owner-cvs-all Fri May 10 18:40:12 2002 Delivered-To: cvs-all@freebsd.org Received: from mail.speakeasy.net (mail17.speakeasy.net [216.254.0.217]) by hub.freebsd.org (Postfix) with ESMTP id B947137B40A for ; Fri, 10 May 2002 18:39:51 -0700 (PDT) Received: (qmail 10028 invoked from network); 11 May 2002 01:39:50 -0000 Received: from unknown (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender ) by mail17.speakeasy.net (qmail-ldap-1.03) with DES-CBC3-SHA encrypted SMTP for ; 11 May 2002 01:39:50 -0000 Received: from laptop.baldwin.cx (laptop.baldwin.cx [192.168.0.4]) by server.baldwin.cx (8.11.6/8.11.6) with ESMTP id g4B1dmF44925; Fri, 10 May 2002 21:39:48 -0400 (EDT) (envelope-from jhb@FreeBSD.org) Message-ID: X-Mailer: XFMail 1.5.2 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: <200205110137.g4B1binA007822@hak.lan.Awfulhak.org> Date: Fri, 10 May 2002 21:39:45 -0400 (EDT) From: John Baldwin To: Brian Somers Subject: Re: cvs commit: src/sys/isa fd.c fdreg.h Cc: Joerg Wunsch , cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On 11-May-2002 Brian Somers wrote: >> >> On 11-May-2002 Brian Somers wrote: >> >> joerg 2002/05/10 10:56:39 PDT >> >> >> >> Modified files: >> >> sys/isa fd.c fdreg.h >> >> Log: >> >> Change the PIO loops from a hard counter into a loop that calls DELAY() >> >> in each cycle, with a tunable max cycle count defined in fdreg.h. >> >> >> >> This is said to fix the problem on some Compaq hardware (and perhaps >> >> on other machines using the Natsemi PC87317 chip) where the fdc(4) >> >> driver failed to operate at all. >> >> >> >> PR: kern/21397 >> >> Submitted by: Jung-uk Kim >> >> MFC after: 3 days >> >> >> >> Revision Changes Path >> >> 1.229 +14 -8 src/sys/isa/fd.c >> >> 1.16 +12 -0 src/sys/isa/fdreg.h >> > >> > As fdc is also a module, would it be better to call tsleep() instead >> > of delay if (!cold) ? Like in sys/dev/digi/digi.c:digi_delay()... >> >> Hmm, we should come up with the real fix for this quick so as to avoid >> propagating that hack any farther than we have to. :-/ (Not picking on >> you Brian). > > Yes. > > NetBSD has an MD delay() function in sys/arch/*/{,*/}clock.c, > prototyped in sys/arch/*/include/cpu.h. I guess I could have a go at > bringing that into FreeBSD. No, the real fix is to redo device probing so it's always done in the same environment. IOW, you would always use tsleep() and never use DELAY(). -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message