From owner-cvs-all Mon Jul 24 15:27:48 2000 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (Postfix) with ESMTP id 1F4FA37C04C; Mon, 24 Jul 2000 15:27:42 -0700 (PDT) (envelope-from gibbs@FreeBSD.org) Received: (from gibbs@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id PAA17914; Mon, 24 Jul 2000 15:27:41 -0700 (PDT) (envelope-from gibbs@FreeBSD.org) Message-Id: <200007242227.PAA17914@freefall.freebsd.org> From: "Justin T. Gibbs" Date: Mon, 24 Jul 2000 15:27:41 -0700 (PDT) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/dev/aic7xxx aic7xxx.c aic7xxx.h aic7xxx.seq X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG gibbs 2000/07/24 15:27:41 PDT Modified files: sys/dev/aic7xxx aic7xxx.c aic7xxx.h aic7xxx.seq Log: aic7xxx.c: Correct the BUILD_TCL macro. It was placing the target id in the wrong bits. This was only an issue for adapters that do not perform SCB paging (aha-3940AUW for instance). Don't bother inlining ahc_index_busy_tcl. It is never used in a performance critical path and is a bit chunky. Correct ahc_index_busy_tcl to deal with "busy target tables" embedded in the latter half of 64byte SCBs. Don't initialize the busy target table to its empty state until after we have finished extracting configuration information from chip SRAM. In the common case of using 16 bytes of chip SRAM to do untagged target lookups, we were trashing the last 8 targets configuration data. (actually only target 8 because of the bug in the BUILD_TCL macro). Cram the "bus reset delivered" message back under bootverbose. Fix the cleanup of the SCB busy target table when aborting commands. If the lun is wildcarded, we must loop through all possible luns. aic7xxx.h: Only bother supporting 64 luns right now. It doesn't seem like either this driver or any peripherals will be doing information unit transfers (where the lun number is a 32 bit integer) any time soon. aic7xxx.seq: Fix support for the aic7895. We must flush the data FIFO if performing a manual transfer that is not a multiple of 8 bytes. We were doing this quite regularly for embedded cdbs. Manaually flush the fifo on earlier adapters when dealing with embedded cdbs too. We were stuffing the FIFO with 16 bytes instead, but triggering the flush is more efficient and allows us to remove two instructions from the "copy_to_fifo" routine. Revision Changes Path 1.46 +85 -35 src/sys/dev/aic7xxx/aic7xxx.c 1.21 +3 -6 src/sys/dev/aic7xxx/aic7xxx.h 1.97 +7 -11 src/sys/dev/aic7xxx/aic7xxx.seq To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message