diff options
author | gibbs <gibbs@FreeBSD.org> | 1995-07-31 08:21:59 +0000 |
---|---|---|
committer | gibbs <gibbs@FreeBSD.org> | 1995-07-31 08:21:59 +0000 |
commit | 8c18a11f08a7dd6d1c7c168f948e2ad4f2b6f085 (patch) | |
tree | e9c3b767fbe321f6979dde7441c38f898b42d7c7 /sys/dev/aic7xxx | |
parent | 1fd348a456d0d3e1a8304bd1aaaf358849de586d (diff) | |
download | FreeBSD-src-8c18a11f08a7dd6d1c7c168f948e2ad4f2b6f085.zip FreeBSD-src-8c18a11f08a7dd6d1c7c168f948e2ad4f2b6f085.tar.gz |
Pause the sequencer when message only requests complete. This allows the
kernel driver to know the exact state of the sequencer after a BUS DEVICE
RESET or ABORT completes so it can properly clean up the request.
Diffstat (limited to 'sys/dev/aic7xxx')
-rw-r--r-- | sys/dev/aic7xxx/aic7xxx.seq | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/sys/dev/aic7xxx/aic7xxx.seq b/sys/dev/aic7xxx/aic7xxx.seq index 3338c1c..053ba48 100644 --- a/sys/dev/aic7xxx/aic7xxx.seq +++ b/sys/dev/aic7xxx/aic7xxx.seq @@ -41,7 +41,7 @@ # ##-M######################################################################### -VERSION AIC7XXX_SEQ_VER "$Id: aic7xxx.seq,v 1.16 1995/05/17 07:05:49 davidg Exp $" +VERSION AIC7XXX_SEQ_VER "$Id: aic7xxx.seq,v 1.17 1995/07/04 20:58:57 gibbs Exp $" SCBMASK = 0x1f @@ -160,6 +160,7 @@ AWAITING_MSG = 0xa1 # Kernel requested to specify # (command was null), so tell # it that it can fill the # message buffer. +IMMEDDONE = 0xb1 # The host adapter card (at least the BIOS) uses 20-2f for SCSI @@ -700,10 +701,15 @@ status_ok: clear_a: xor ACTIVE_A,A + test SCBARRAY+11,0xff jnz complete # Immediate message complete +# Pause the sequencer until the driver gets around to handling the command +# complete. This is so that any action that might require carefull timing +# with the completion of this command can occur. + mvi INTSTAT,IMMEDDONE + jmp start complete: mov QOUTFIFO,SCBPTR mvi INTSTAT,CMDCMPLT - test SCBARRAY+11,0xff jz start # Immediate message complete jmp p_mesgin_done # If we have a residual count, interrupt and tell the host. Other |