plan 9 kernel history: overview | file list | diff list

1999/0423/alphapc/ether2114x.c (diff list | history)

1999/0422/sys/src/9/alphapc/ether2114x.c:21,291999/0423/sys/src/9/alphapc/ether2114x.c:21,26 (short | long | prev | next)
1999/0422    
 
/* nasty PCI DMA hack... */ 
 
#undef	PADDR 
#define	PADDR(a) ((ulong)(a)) 
                 
#define DEBUG		0 
#define debug		if(DEBUG)print 
 
1999/0422/sys/src/9/alphapc/ether2114x.c:380,3861999/0423/sys/src/9/alphapc/ether2114x.c:377,383
1999/0422    
		ctlr->tdr[PREV(ctlr->tdrh, ctlr->ntdr)].control &= ~Ic; 
		des = &ctlr->tdr[ctlr->tdrh]; 
		des->bp = bp; 
		des->addr = PADDR(bp->rp); 
1999/0423    
		des->addr = PCIWADDR(bp->rp); 
1999/0422    
		des->control |= control; 
		ctlr->ntq++; 
		coherence(); 
1999/0422/sys/src/9/alphapc/ether2114x.c:465,4711999/0423/sys/src/9/alphapc/ether2114x.c:462,468
1999/0422    
					des->bp->wp = des->bp->rp+len; 
					etheriq(ether, des->bp, 1); 
					des->bp = bp; 
					des->addr = PADDR(bp->rp); 
1999/0423    
					des->addr = PCIWADDR(bp->rp); 
1999/0422    
				} 
 
				des->control &= Er; 
1999/0422/sys/src/9/alphapc/ether2114x.c:574,5901999/0423/sys/src/9/alphapc/ether2114x.c:571,587
1999/0422    
		des->bp = allocb(ROUNDUP(sizeof(Etherpkt)+4, 4)); 
		des->status = Own; 
		des->control = ROUNDUP(sizeof(Etherpkt)+4, 4); 
		des->addr = PADDR(des->bp->rp); 
1999/0423    
		des->addr = PCIWADDR(des->bp->rp); 
1999/0422    
	} 
	ctlr->rdr[ctlr->nrdr-1].control |= Er; 
	ctlr->rdrx = 0; 
	csr32w(ctlr, 3, PADDR(ctlr->rdr)); 
1999/0423    
	csr32w(ctlr, 3, PCIWADDR(ctlr->rdr)); 
1999/0422    
 
	ctlr->tdr = xspanalloc(ctlr->ntdr*sizeof(Des), 8*sizeof(ulong), 0); 
	ctlr->tdr[ctlr->ntdr-1].control |= Er; 
	ctlr->tdrh = 0; 
	ctlr->tdri = 0; 
	csr32w(ctlr, 4, PADDR(ctlr->tdr)); 
1999/0423    
	csr32w(ctlr, 4, PCIWADDR(ctlr->tdr)); 
1999/0422    
 
	ctlr->mask = Nis|Ais|Fbe|Rwt|Rps|Ru|Ri|Unf|Tjt|Tps|Ti; 
	csr32w(ctlr, 7, ctlr->mask); 


source code copyright © 1990-2005 Lucent Technologies; see license
Plan 9 distribution
comments to russ cox (rsc@swtch.com)