From owner-cvs-all Sun Mar 18 20:40:43 2001 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id B945337B71A; Sun, 18 Mar 2001 20:40:36 -0800 (PST) (envelope-from gibbs@FreeBSD.org) Received: (from gibbs@localhost) by freefall.freebsd.org (8.11.1/8.11.1) id f2J4ea552826; Sun, 18 Mar 2001 20:40:36 -0800 (PST) (envelope-from gibbs) Message-Id: <200103190440.f2J4ea552826@freefall.freebsd.org> From: "Justin T. Gibbs" Date: Sun, 18 Mar 2001 20:40:36 -0800 (PST) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/dev/aic7xxx aic7xxx.c aic7xxx.reg aic7xxx.seq X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG gibbs 2001/03/18 20:40:36 PST Modified files: sys/dev/aic7xxx aic7xxx.c aic7xxx.reg aic7xxx.seq Log: This is an MFC candidate. aic7xxx.c: Correct code that traverses the phase table. A much too quick push to staticize this structure resulted in non-functional lookup code. This corrects the printing of the phase where a timeout occurred. aic7xxx.reg: Use FIFOQWDEMP as the name for bit 5 of DFSTATUS just like the Adaptec data books. aic7xxx.seq: Refine the 2.1 PCI retry bug workaround for certain, non-ULTRA2, controllers. When the DMA of an SCB completes, it can take some time for HDONE to come true after MREQPEN (PCI memory request pending) falls. If HDONE never comes true, we are in the hung state and must manually drain the FIFO. We used to test HDONE for 3 clock cycles to detect this condition. This works on all of the hardware I can personally test. Some controllers were reported to take 4 clock cycles, so the last version of this code waited 4 clock cycles. This still didn't work for everyone. To fix this, I've adjusted the work around so that even if the hardware hasn't hung, but we run the work-around code, the result is a long winded way to complete the transfer, rather than a hang. Revision Changes Path 1.72 +4 -3 src/sys/dev/aic7xxx/aic7xxx.c 1.36 +2 -2 src/sys/dev/aic7xxx/aic7xxx.reg 1.114 +4 -3 src/sys/dev/aic7xxx/aic7xxx.seq To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message