rtl8139 pci mem freeze (more info)

Daniel Kobras zxmfj03@fphp16.tphys.physik.uni-tuebingen.de
Tue Sep 28 09:38:47 1999


On Mon, 27 Sep 1999, Donald Becker wrote:

> > +#define outb_f(val,port)	do{writeb((val),(port));readb((port));}while(0)
> > +#define outw_f(val,port)	do{writew((val),(port));readw((port));}while(0)
> > +#define outl_f(val,port)	do{writel((val),(port));readl((port));}while(0)
> 
> These are, as you know, slow.

Yes. Otherwise the fix would be obvious and I wouldn't care about which
flushes are necessary (for me) and which aren't.

> >  	/* We can safely update without stopping the chip. */
> >  	outb(rx_mode, ioaddr + RxConfig);
> > -	outl(mc_filter[0], ioaddr + MAR0 + 0);
> > +	outl_f(mc_filter[0], ioaddr + MAR0 + 0);
> >  	outl(mc_filter[1], ioaddr + MAR0 + 4);
> 
> Hmmm, this one might have to stay.

Actually this one was a little bit less deterministic than I had liked.
Moving the flush up outb will work as well. Move it down to the second
outl and it locks. 

> My K6 system has a SiS chipset.  I wonder if this is Intel-chipset-specific.

I know of three machines around here that choke on the rtl's mem mode and
all are Intel equipped (1 FX, 1 HX, 1 BX). I'll try to test on an ALI
based board later this week but that's a machine I can't play games easily
with. 

Regards,

Daniel (having rebooted his box approx. 0x8139 times lately ;-).

 | To unsubscribe, send mail to Majordomo@cesdis.gsfc.nasa.gov, and within the
 |  body of the mail, include only the text:
 |   unsubscribe this-list-name youraddress@wherever.org
 | You will be unsubscribed as speedily as possible.