diff options
-rw-r--r-- | sys/dev/aic7xxx/aic7xxx.seq | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/sys/dev/aic7xxx/aic7xxx.seq b/sys/dev/aic7xxx/aic7xxx.seq index d9c1365..357ec1b 100644 --- a/sys/dev/aic7xxx/aic7xxx.seq +++ b/sys/dev/aic7xxx/aic7xxx.seq @@ -512,12 +512,8 @@ p_mesgout_loop: cmp DINDEX,1 jne p_mesgout_outb /* last byte? */ mvi CLRSINT1,CLRATNO /* drop ATN */ p_mesgout_outb: - or SXFRCTL0, CLRSTCNT - mvi STCNT0, 1 dec DINDEX mov SCSIDATL,SINDIR -p_mesgout_outb_wait: - test SSTAT0,SDONE jz p_mesgout_outb_wait p_mesgout4: test DINDEX,0xff jnz p_mesgout_loop @@ -885,19 +881,15 @@ mk_mesg1: */ inb_next: - call inb_last -inb_first: + mov NONE,SCSIDATL /*dummy read from latch to ACK*/ +inb_next_wait: test SSTAT1,PHASEMIS jnz mesgin_phasemis - test SSTAT0,SPIORDY jz inb_first /* wait for next byte */ + test SSTAT0,SPIORDY jz inb_next_wait /* wait for next byte */ +inb_first: mov DINDEX,SINDEX mov DINDIR,SCSIBUSL ret /*read byte directly from bus*/ inb_last: - or SXFRCTL0,CLRSTCNT - mvi STCNT0,0x01 - mov NONE,SCSIDATL /*dummy read from latch to ACK*/ -inb_last_wait: - test SSTAT0,SDONE jz inb_last_wait /* Wait for completion */ - ret + mov NONE,SCSIDATL ret /*dummy read from latch to ACK*/ mesgin_phasemis: /* |