diff options
| author | Justin T. Gibbs <gibbs@FreeBSD.org> | 1997-04-24 16:53:17 +0000 |
|---|---|---|
| committer | Justin T. Gibbs <gibbs@FreeBSD.org> | 1997-04-24 16:53:17 +0000 |
| commit | aba290e1d70c8c0955fcb8bc17ad45ad64a1d775 (patch) | |
| tree | b41fdda98a9dc9b9cec5208b8eac5d97ad88330e /sys | |
| parent | 3d76eec03dbdab0959a183b50ddf3cefc56855a5 (diff) | |
Notes
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/dev/aic7xxx/aic7xxx.reg | 4 | ||||
| -rw-r--r-- | sys/dev/aic7xxx/aic7xxx.seq | 7 |
2 files changed, 8 insertions, 3 deletions
diff --git a/sys/dev/aic7xxx/aic7xxx.reg b/sys/dev/aic7xxx/aic7xxx.reg index ac45ec2f1dae..593e20125415 100644 --- a/sys/dev/aic7xxx/aic7xxx.reg +++ b/sys/dev/aic7xxx/aic7xxx.reg @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: aic7xxx.reg,v 1.1 1997/03/16 07:08:11 gibbs Exp $ + * $Id: aic7xxx.reg,v 1.1.2.1 1997/04/14 02:31:23 gibbs Exp $ */ /* @@ -764,7 +764,7 @@ scb { bit MK_MESSAGE 0x80 bit DISCENB 0x40 bit TAG_ENB 0x20 - bit SPLIT_SG 0x10 + bit MUST_DMAUP_SCB 0x10 bit ABORT_SCB 0x08 bit DISCONNECTED 0x04 mask SCB_TAG_TYPE 0x03 diff --git a/sys/dev/aic7xxx/aic7xxx.seq b/sys/dev/aic7xxx/aic7xxx.seq index 3c6945bfd11a..30bd340b482a 100644 --- a/sys/dev/aic7xxx/aic7xxx.seq +++ b/sys/dev/aic7xxx/aic7xxx.seq @@ -37,7 +37,7 @@ *OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF *SUCH DAMAGE. * - * $Id: aic7xxx.seq,v 1.46.2.17 1997/04/14 02:31:28 gibbs Exp $ + * $Id: aic7xxx.seq,v 1.46.2.18 1997/04/18 16:38:19 gibbs Exp $ * *-M************************************************************************/ @@ -980,6 +980,8 @@ findSCB_loop: mov ALLZEROS call get_free_or_disc_scb; mvi DMAPARAMS, HDMAEN|DIRECTION|FIFORESET; mov ARG_1 call dma_scb; + test SCB_RESID_SGCNT, 0xff jz . + 2; + or SCB_CONTROL, MUST_DMAUP_SCB; test SCB_CONTROL, ABORT_SCB jz return; find_error: mvi SINDEX, SCB_LIST_NULL ret; @@ -1117,6 +1119,9 @@ dequeue_disc_scb: * and we have to send this SCB back up to the kernel so that the * saved data pointers and residual information isn't lost. */ + test SCB_CONTROL, MUST_DMAUP_SCB jz . + 3; + and SCB_CONTROL, ~MUST_DMAUP_SCB; + jmp dma_up_scb; test SCB_RESID_SGCNT,0xff jnz dma_up_scb; cmp SCB_LINKED_NEXT, SCB_LIST_NULL je unlink_disc_scb; dma_up_scb: |
