From owner-cvs-sys Sun Nov 10 21:26:30 1996 Return-Path: owner-cvs-sys Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id VAA15198 for cvs-sys-outgoing; Sun, 10 Nov 1996 21:26:30 -0800 (PST) Received: (from gibbs@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id VAA15173; Sun, 10 Nov 1996 21:26:16 -0800 (PST) Date: Sun, 10 Nov 1996 21:26:16 -0800 (PST) From: "Justin T. Gibbs" Message-Id: <199611110526.VAA15173@freefall.freebsd.org> To: CVS-committers, cvs-all, cvs-sys Subject: cvs commit: src/sys/dev/aic7xxx aic7xxx.seq aic7xxx_reg.h src/sys/i386/conf LINT src/sys/i386/eisa aic7770.c src/sys/i386/scsi aic7xxx.c aic7xxx.h src/sys/pci aic7870.c Sender: owner-cvs-sys@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk gibbs 96/11/10 21:26:15 Modified: sys/dev/aic7xxx aic7xxx.seq aic7xxx_reg.h Log: Fix two problems with SCB Paging. 1) get_free_or_disc_scb was not being passed its argument correctly in one case 2) Add protection in the form of the QOUTQCNT variable to prevent overflowing the QOUTFIFO. This should make SCB Paging work. Really, I mean it now. 8-) Revision Changes Path 1.48 +23 -34 src/sys/dev/aic7xxx/aic7xxx.seq 1.16 +6 -2 src/sys/dev/aic7xxx/aic7xxx_reg.h Modified: sys/i386/conf LINT Log: Add the AHC_FORCE_PIO option. Update comment on AHC_SCBPAGING_ENABLE since I think it works now. Revision Changes Path 1.289 +8 -4 src/sys/i386/conf/LINT Modified: sys/i386/eisa aic7770.c Log: Clean up the memory mapped/Programmed I/O stuff so that the driver completely uses one or the other. This required some changes to the ahc_reset() function, and how early the probes had to allocate their softc. Turn the AHC_IN/OUT* macros into inline functions and lowercase their names to indicate this change. Geting AHC_OUTSB to work as a macro doing conditional memory mapped I/O would have been too gross. Revision Changes Path 1.35 +22 -16 src/sys/i386/eisa/aic7770.c Modified: sys/i386/scsi aic7xxx.c aic7xxx.h Log: Clean up the memory mapped/Programmed I/O stuff so that the driver completely uses one or the other. This required some changes to the ahc_reset() function, and how early the probes had to allocate their softc. Turn the AHC_IN/OUT* macros into inline functions and lowercase their names to indicate this change. Geting AHC_OUTSB to work as a macro doing conditional memory mapped I/O would have been too gross. Stop setting STPWEN in the main driver and let the PCI front end do it instead. It knows better. Add the clearing of the QOUTQCNT variable during command complete processing in the SCB paging case. Go back to doing unconditional retries for the QUEUE FULL status condition. This is really a kludge, but the code to handle it properly is on the SCSI branch and will not make it into 2.2. Revision Changes Path 1.85 +276 -279 src/sys/i386/scsi/aic7xxx.c 1.33 +61 -23 src/sys/i386/scsi/aic7xxx.h Modified: sys/pci aic7870.c Log: Clean up the memory mapped/Programmed I/O stuff so that the driver completely uses one or the other. This required some changes to the ahc_reset() function, and how early the probes had to allocate their softc. Turn the AHC_IN/OUT* macros into inline functions and lowercase their names to indicate this change. Geting AHC_OUTSB to work as a macro doing conditional memory mapped I/O would have been too gross. Be smart about the STPWEN control bit in SCFRCTL1. It should only be set if the low byte of the bus is to be terminated. We figure this out either by "caching" the value left over from the BIOS setup before we reset the card or by using the values stored in the seeprom if it is availible. Revision Changes Path 1.43 +73 -69 src/sys/pci/aic7870.c