Date: Tue, 11 Feb 1997 09:10:40 -0800 (PST) From: "Justin T. Gibbs" <gibbs> To: CVS-committers, cvs-all, cvs-sys Subject: cvs commit: src/sys/dev/aic7xxx aic7xxx.seq src/sys/i386/scsi aic7xxx.c aic7xxx.h Message-ID: <199702111710.JAA05009@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
gibbs 97/02/11 09:10:39 Modified: sys/dev/aic7xxx aic7xxx.seq Log: Clear the DFCNTRL register after every busfree. When setting the HCNT registers, do so in ascending order. When performing tagged queueing in non-paging mode, also check the disconnected bit in the SCB as extra sanity during a reconection. Make the labels in the DMA routine more sane. When doing a DMA, if we see the DMADONE condition come true, we can simply turn of the DMA enable bits in DFCNTRL without testing the FIFO state as HDONE is true when DMADONE is true and this emplies the FIFO is empty. These changes clear up the data overrun error messages and seem to prevent the "timed out in data-in phase" problems. Revision Changes Path 1.59 +26 -23 src/sys/dev/aic7xxx/aic7xxx.seq Modified: sys/i386/scsi aic7xxx.c aic7xxx.h Log: Fix a bug in the reporting of residuals. The code was relying on the SG_COUNT filed in the hardware SCB not changing during the course of a transaction. Since the sequencer now DMAs the hardware SCB back up to the host when it detects a residual, this is no longer the case. I added a field to the "software" scb to mirror this information and it is now used for doing the residual calculation. Revision Changes Path 1.97 +21 -5 src/sys/i386/scsi/aic7xxx.c 1.37 +1 -0 src/sys/i386/scsi/aic7xxx.h
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199702111710.JAA05009>