aic7xxx.seq (15998) | aic7xxx.seq (16002) |
---|---|
1/*+M*********************************************************************** 2 *Adaptec 274x/284x/294x device driver for Linux and FreeBSD. 3 * 4 *Copyright (c) 1994 John Aycock 5 * The University of Calgary Department of Computer Science. 6 * All rights reserved. 7 * 8 *FreeBSD, Twin, Wide, 2 command per target support, tagged queuing, --- 25 unchanged lines hidden (view full) --- 34 *OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 35 *HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 36 *LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 37 *OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 38 *SUCH DAMAGE. 39 * 40 *-M************************************************************************/ 41 | 1/*+M*********************************************************************** 2 *Adaptec 274x/284x/294x device driver for Linux and FreeBSD. 3 * 4 *Copyright (c) 1994 John Aycock 5 * The University of Calgary Department of Computer Science. 6 * All rights reserved. 7 * 8 *FreeBSD, Twin, Wide, 2 command per target support, tagged queuing, --- 25 unchanged lines hidden (view full) --- 34 *OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 35 *HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 36 *LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 37 *OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 38 *SUCH DAMAGE. 39 * 40 *-M************************************************************************/ 41 |
42VERSION AIC7XXX_SEQ_VER "$Id: aic7xxx.seq,v 1.37 1996/05/27 23:16:55 gibbs Exp $" | 42VERSION AIC7XXX_SEQ_VER "$Id: aic7xxx.seq,v 1.38 1996/05/30 07:18:39 gibbs Exp $" |
43 44#if defined(__NetBSD__) 45#include "../../../../dev/ic/aic7xxxreg.h" 46#elif defined(__FreeBSD__) 47#include "../../dev/aic7xxx/aic7xxx_reg.h" 48#endif 49 50/* --- 444 unchanged lines hidden (view full) --- 495 * When target asks for a byte, drop ATN if it's the last one in 496 * the message. Otherwise, keep going until the message is exhausted. 497 * 498 * Keep an eye out for a phase change, in case the target issues 499 * a MESSAGE REJECT. 500 */ 501p_mesgout_loop: 502 test SSTAT0,SPIORDY jz p_mesgout_loop | 43 44#if defined(__NetBSD__) 45#include "../../../../dev/ic/aic7xxxreg.h" 46#elif defined(__FreeBSD__) 47#include "../../dev/aic7xxx/aic7xxx_reg.h" 48#endif 49 50/* --- 444 unchanged lines hidden (view full) --- 495 * When target asks for a byte, drop ATN if it's the last one in 496 * the message. Otherwise, keep going until the message is exhausted. 497 * 498 * Keep an eye out for a phase change, in case the target issues 499 * a MESSAGE REJECT. 500 */ 501p_mesgout_loop: 502 test SSTAT0,SPIORDY jz p_mesgout_loop |
503 test SSTAT1,PHASEMIS jnz p_mesgout_phasemis | |
504 cmp DINDEX,1 jne p_mesgout_outb /* last byte? */ 505 mvi CLRSINT1,CLRATNO /* drop ATN */ | 503 cmp DINDEX,1 jne p_mesgout_outb /* last byte? */ 504 mvi CLRSINT1,CLRATNO /* drop ATN */ |
505 test SSTAT1,PHASEMIS jnz p_mesgout_phasemis |
|
506p_mesgout_outb: 507 dec DINDEX 508 or CLRSINT0, CLRSPIORDY 509 mov SCSIDATL,SINDIR 510 511p_mesgout4: 512 test DINDEX,0xff jnz p_mesgout_loop 513 --- 348 unchanged lines hidden (view full) --- 862 * use the same calling convention as inb. 863 */ 864 865inb_next: 866 or CLRSINT0, CLRSPIORDY 867 mov NONE,SCSIDATL /*dummy read from latch to ACK*/ 868inb_next_wait: 869 test SSTAT0,SPIORDY jz inb_next_wait /* wait for next byte */ | 506p_mesgout_outb: 507 dec DINDEX 508 or CLRSINT0, CLRSPIORDY 509 mov SCSIDATL,SINDIR 510 511p_mesgout4: 512 test DINDEX,0xff jnz p_mesgout_loop 513 --- 348 unchanged lines hidden (view full) --- 862 * use the same calling convention as inb. 863 */ 864 865inb_next: 866 or CLRSINT0, CLRSPIORDY 867 mov NONE,SCSIDATL /*dummy read from latch to ACK*/ 868inb_next_wait: 869 test SSTAT0,SPIORDY jz inb_next_wait /* wait for next byte */ |
870 test SSTAT1,PHASEMIS jnz mesgin_phasemis | |
871inb_first: 872 mov DINDEX,SINDEX | 870inb_first: 871 mov DINDEX,SINDEX |
872 test SSTAT1,PHASEMIS jnz mesgin_phasemis |
|
873 mov DINDIR,SCSIBUSL ret /*read byte directly from bus*/ 874inb_last: 875 mov NONE,SCSIDATL ret /*dummy read from latch to ACK*/ 876 877mesgin_phasemis: 878/* 879 * We expected to receive another byte, but the target changed phase 880 */ --- 242 unchanged lines hidden --- | 873 mov DINDIR,SCSIBUSL ret /*read byte directly from bus*/ 874inb_last: 875 mov NONE,SCSIDATL ret /*dummy read from latch to ACK*/ 876 877mesgin_phasemis: 878/* 879 * We expected to receive another byte, but the target changed phase 880 */ --- 242 unchanged lines hidden --- |