From bff79954c23bddfca7209903ed73d7b84084d1e8 Mon Sep 17 00:00:00 2001 From: "Justin T. Gibbs" Date: Tue, 9 Jan 1996 16:14:03 +0000 Subject: [PATCH] Change the inb and outb routines slightly. It seems that waiting for SPIORDY after polling REQINIT is a bad idea. --- sys/dev/aic7xxx/aic7xxx.seq | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/sys/dev/aic7xxx/aic7xxx.seq b/sys/dev/aic7xxx/aic7xxx.seq index d9c136591c97..357ec1b67790 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: /*