Re: via-rhine timeouts

Andy Carlson (naclos@swbell.net)
Wed, 23 Jan 2002 19:25:23 -0600 (CST)


I tried this, and the problem did not go away. I got about 300K/S
versus the 7-8M/S I get with the linuxfet driver.

Andy Carlson |\ _,,,---,,_
naclos@swbell.net ZZZzz /,`.-'`' -. ;-;;,_
Cat Pics: http://andyc.dyndns.org/animal.html |,4- ) )-,_. ,\ ( `'-'
St. Louis, Missouri '---''(_/--' `-'\_)

On Wed, 23 Jan 2002, Andrew Morton wrote:

> Urban Widmark wrote:
> >
> > writeb(readb(ioaddr + TxConfig) | 0x80, ioaddr + TxConfig);
> > np->tx_thresh = 0x20;
> > (linuxfet.c)
> >
> > writeb(0x20, ioaddr + TxConfig);
> > np->tx_thresh = 0x20;
> > (via-rhine.c)
> >
> > Note how the linuxfet driver sets a higher value but does not make the
> > tx_thresh follow, so if it later gets a "IntrTxUnderrun" it will lower the
> > threshold. But the chosen value is probably large enough.
> >
> > Those of you with this problem could try changing the 0x80 to 0x20 in the
> > linuxfet.c driver and see if the problem returns (or the other way around
> > in the via-rhine.c driver).
> >
>
> That would certainly explain why people are seeing success
> with linuxfet.
>
> Here's the test patch which you describe. It would be
> useful if people could try it..
>
> --- linux-2.4.18-pre6/drivers/net/via-rhine.c Tue Jan 22 12:38:30 2002
> +++ linux-akpm/drivers/net/via-rhine.c Wed Jan 23 12:42:18 2002
> @@ -965,7 +965,7 @@ static void init_registers(struct net_de
> /* Initialize other registers. */
> writew(0x0006, ioaddr + PCIBusConfig); /* Tune configuration??? */
> /* Configure the FIFO thresholds. */
> - writeb(0x20, ioaddr + TxConfig); /* Initial threshold 32 bytes */
> + writeb(0x80, ioaddr + TxConfig); /* Initial threshold 32 bytes */
> np->tx_thresh = 0x20;
> np->rx_thresh = 0x60; /* Written in via_rhine_set_rx_mode(). */
>
> -
>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/