Messages in this thread |  | | From | "Martin Eriksson" <> | Subject | via-rhine and MMIO | Date | Mon, 29 Oct 2001 14:06:53 +0100 |
| |
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.
The most important change was to enable memory-mapped mode within the rhine chip by a standard port-io call. I have got it all to work, and it works under stress test too, but there is a section in the code that I wonder about:
(drivers/net/via-rhine.c) ... /* 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?
_____________________________________________________ | 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/
|  |