Date: Sun, 18 Mar 2001 20:40:36 -0800 (PST) From: "Justin T. Gibbs" <gibbs@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/dev/aic7xxx aic7xxx.c aic7xxx.reg aic7xxx.seq Message-ID: <200103190440.f2J4ea552826@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200103190440.f2J4ea552826>