aic7xxx.seq (15951) | aic7xxx.seq (15998) |
---|---|
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.36 1996/05/23 15:01:47 gibbs Exp $" | 42VERSION AIC7XXX_SEQ_VER "$Id: aic7xxx.seq,v 1.37 1996/05/27 23:16:55 gibbs Exp $" |
43 | 43 |
44#if defined(__NetBSD__) 45#include "../../../../dev/ic/aic7xxxreg.h" 46#elif defined(__FreeBSD__) |
|
44#include "../../dev/aic7xxx/aic7xxx_reg.h" | 47#include "../../dev/aic7xxx/aic7xxx_reg.h" |
48#endif |
|
45 46/* 47 * We can't just use ACCUM in the sequencer code because it 48 * must be treated specially by the assembler, and it currently 49 * looks for the symbol 'A'. This is the only register defined in 50 * the assembler's symbol space. 51 */ 52A = ACCUM --- 438 unchanged lines hidden (view full) --- 491 * When target asks for a byte, drop ATN if it's the last one in 492 * the message. Otherwise, keep going until the message is exhausted. 493 * 494 * Keep an eye out for a phase change, in case the target issues 495 * a MESSAGE REJECT. 496 */ 497p_mesgout_loop: 498 test SSTAT0,SPIORDY jz p_mesgout_loop | 49 50/* 51 * We can't just use ACCUM in the sequencer code because it 52 * must be treated specially by the assembler, and it currently 53 * looks for the symbol 'A'. This is the only register defined in 54 * the assembler's symbol space. 55 */ 56A = ACCUM --- 438 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 |
|
499 cmp DINDEX,1 jne p_mesgout_outb /* last byte? */ 500 mvi CLRSINT1,CLRATNO /* drop ATN */ 501p_mesgout_outb: | 504 cmp DINDEX,1 jne p_mesgout_outb /* last byte? */ 505 mvi CLRSINT1,CLRATNO /* drop ATN */ 506p_mesgout_outb: |
502 test SSTAT1,PHASEMIS jnz p_mesgout_phasemis | |
503 dec DINDEX 504 or CLRSINT0, CLRSPIORDY 505 mov SCSIDATL,SINDIR 506 507p_mesgout4: 508 test DINDEX,0xff jnz p_mesgout_loop 509 510/* --- 608 unchanged lines hidden --- | 507 dec DINDEX 508 or CLRSINT0, CLRSPIORDY 509 mov SCSIDATL,SINDIR 510 511p_mesgout4: 512 test DINDEX,0xff jnz p_mesgout_loop 513 514/* --- 608 unchanged lines hidden --- |