summaryrefslogtreecommitdiffstats
path: root/sys/dev/aic7xxx/aic7xxx_reg.h
diff options
context:
space:
mode:
authorgibbs <gibbs@FreeBSD.org>1996-11-22 08:25:23 +0000
committergibbs <gibbs@FreeBSD.org>1996-11-22 08:25:23 +0000
commitf4da8ee753f95bd3e4884ab15f233dc72ad4c2d5 (patch)
tree37a92b29c2365dbf92bdb4ab6b12ec9af4b9e5d0 /sys/dev/aic7xxx/aic7xxx_reg.h
parent4a2d33f6d0a82da1bc1282c463d5633d14e76792 (diff)
downloadFreeBSD-src-f4da8ee753f95bd3e4884ab15f233dc72ad4c2d5.zip
FreeBSD-src-f4da8ee753f95bd3e4884ab15f233dc72ad4c2d5.tar.gz
Conditionally enable the busfree interrupt to catch unexpected busfrees.
Immediate SCBs, since they always send messages that tell the target to transition to bus free now rely on the busfree interrupt instead of the IMMEDDONE sequencer interrupt that was generated before. Rearrange some code in the message out loop to give ATN a little more time to drop before we ACK the last byte. Use SPIORDY instead of REQINIT when snooping for a tag message on a reconnect. This is done for the same reasons we use SPIORDY in the inb functions. When going into BITBUCKET mode, turn off HDMAEN in the DFCNTRL register so that we can "not care" what the value of HCNT is. If HCNT is 0, BITBUCKET mode won't transfer any data if HDMAEN is set. Seeing as we don't want the transfer to even think about touching the host, this seems more sane anyway. Thanks to "Dan Willis" <dan@plutotech.com> for pointing out that this was a problem.
Diffstat (limited to 'sys/dev/aic7xxx/aic7xxx_reg.h')
-rw-r--r--sys/dev/aic7xxx/aic7xxx_reg.h11
1 files changed, 1 insertions, 10 deletions
diff --git a/sys/dev/aic7xxx/aic7xxx_reg.h b/sys/dev/aic7xxx/aic7xxx_reg.h
index 841abbf..0657b72 100644
--- a/sys/dev/aic7xxx/aic7xxx_reg.h
+++ b/sys/dev/aic7xxx/aic7xxx_reg.h
@@ -28,7 +28,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: aic7xxx_reg.h,v 1.16 1996/11/11 05:16:41 gibbs Exp $
+ * $Id: aic7xxx_reg.h,v 1.17 1996/11/16 01:07:35 gibbs Exp $
*/
/*
@@ -420,10 +420,6 @@
* it that it can fill the
* message buffer.
*/
-#define IMMEDDONE 0xb1 /*
- * An immediate command has
- * completed
- */
#define MSG_BUFFER_BUSY 0xc1 /*
* Sequencer wants to use the
* message buffer, but it
@@ -571,11 +567,7 @@
#define SCB_ACTIVE2 0x0be
#define SCB_ACTIVE3 0x0bf
-#ifdef __linux__
-#define SG_SIZEOF 0x0c /* sizeof(struct scatterlist) */
-#else
#define SG_SIZEOF 0x08 /* sizeof(struct ahc_dma) */
-#endif
/* --------------------- AHA-2840-only definitions -------------------- */
@@ -711,7 +703,6 @@
#define TWIN_BUS 0x01
#define WIDE_BUS 0x02
#define PAGESCBS 0x04
-#define SCB_LISTED 0x08
#define DPHASE 0x10
#define TAGGED_SCB 0x20
#define IDENTIFY_SEEN 0x40
OpenPOWER on IntegriCloud