Re: via-rhine and MMIO

Martin Eriksson (nitrax@giron.wox.org)
Mon, 29 Oct 2001 21:11:27 +0100


----- Original Message -----
From: "Urban Widmark" <urban@teststation.com>
To: "Martin Eriksson" <nitrax@giron.wox.org>
Cc: <linux-kernel@vger.kernel.org>
Sent: Monday, October 29, 2001 7:13 PM
Subject: Re: via-rhine and MMIO

> On Mon, 29 Oct 2001, Martin Eriksson wrote:
>
> > I have done some changes to the via-rhine driver in 2.4.13 to be able to
run
> > with MMIO. I know it isn't really needed but I do it mainly for fun &
> > learning.
>
> Any measurable performance difference?

I don't think so, it would be slightly less latency, but as via-rhine needs
to copy the data anyway...

>
> Any important changes from the driver that used to be on
> http://www.cs.umu.se/~c97men/linux ?
> (I have a copy of "v1.03a ME1.0 3/12/00")

Yes _I_ have matured a bit =) And the new driver does not choose between
MMIO/PORTIO at runtime, because most other drivers seem to select this via
CONFIG_ directives.

>
>
> > /* Reload the station address from the EEPROM. */
> > writeb(0x20, ioaddr + MACRegEEcsr);
> > /* Typically 2 cycles to reload. */
> > for (i = 0; i < 150; i++)
> > if (! (readb(ioaddr + MACRegEEcsr) & 0x20))
> > break;
> > ...
> >
> > If I run this code when I'm using MMIO, I get a hardware adress of
> > "ff:ff:ff:ff:ff:ff" instead of the right one (and everything craps up).
But
> > when I comment out this part all is fine. So what's it needed for
anyway?
>
> It is needed on some cards when rebooting from some other OSes that power
> down the card (eg vt6102 chips on win98). The writeb causes the chip
> itself to reload the hardware address from eeprom. Perhaps it no longer
> finds the eeprom and just reads 0xff from some unmapped memory space.
>
> Does it work to enable MMIO after the reset code?

I'll check that out, and if all works fine I'll release a patch. By the way,
how *do* you measure network performance the best way? What I have done now
is only to stress test the driver, by copying a 400MB file from my Windows
machine to /dev/null and at the same time recieving a 400MB file over FTP
from my Sun Sparc which is bridged on another via-rhine.

_____________________________________________________
| Martin Eriksson <nitrax@giron.wox.org>
| MSc CSE student, department of Computing Science
| Umeå University, Sweden

-
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/