diff options
-rw-r--r-- | sys/dev/aic7xxx/aic7xxx.seq | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/sys/dev/aic7xxx/aic7xxx.seq b/sys/dev/aic7xxx/aic7xxx.seq index 56a4adb..1c2772e 100644 --- a/sys/dev/aic7xxx/aic7xxx.seq +++ b/sys/dev/aic7xxx/aic7xxx.seq @@ -39,7 +39,7 @@ * *-M************************************************************************/ -VERSION AIC7XXX_SEQ_VER "$Id: aic7xxx.seq,v 1.50 1996/11/21 06:18:33 gibbs Exp $" +VERSION AIC7XXX_SEQ_VER "$Id: aic7xxx.seq,v 1.51 1996/11/22 08:25:20 gibbs Exp $" #if defined(__NetBSD__) #include "../../../../dev/ic/aic7xxxreg.h" @@ -84,16 +84,14 @@ reset: clr SCSISIGO /* De-assert BSY */ p_busfree: - mvi LASTPHASE, P_BUSFREE - -start: - and FLAGS,0x07 /* clear target specific flags */ mvi SCSISEQ,ENRSELI /* Always allow reselection */ clr SCSIRATE /* * We don't know the target we will * connect to, so default to narrow * transfers to avoid parity problems. */ + mvi LASTPHASE, P_BUSFREE + and FLAGS,0x07 /* clear target specific flags */ poll_for_work: /* * Are we a twin channel device? @@ -550,13 +548,13 @@ p_mesgout_loop: * If the next bus phase after ATN drops is a message out, it means * that the target is requesting that the last message(s) be resent. */ -p_mesgout_dropatn: - cmp DINDEX,1 jne p_mesgout_testretry /* last byte? */ - mvi CLRSINT1,CLRATNO /* drop ATN */ p_mesgout_testretry: - test DINDEX,0xff jnz p_mesgout_outb + test DINDEX,0xff jnz p_mesgout_dropatn or SCSISIGO,ATNO /* turn on ATN for the retry */ jmp p_mesgout_start +p_mesgout_dropatn: + cmp DINDEX,1 jne p_mesgout_outb /* last byte? */ + mvi CLRSINT1,CLRATNO /* drop ATN */ p_mesgout_outb: dec DINDEX mvi CLRSINT0, CLRSPIORDY @@ -777,7 +775,7 @@ mesgin_identify: */ mvi ARG_1,SCB_LIST_NULL /* Default to no-tag */ snoop_tag_loop: - test SSTAT0,SPIORDY jz snoop_tag_loop + test SSTAT1,REQINIT jz snoop_tag_loop test SSTAT1,PHASEMIS jnz use_findSCB mvi A call inb_first cmp A,MSG_SIMPLE_Q_TAG jne use_findSCB |