Re: 2.2.15 with eepro100: eth0: Too much work at interrupt

From: Dragan Stancevic (visitor@valinux.com)
Date: Mon May 22 2000 - 18:40:01 EST


On Fri, May 19, 2000, Jeff Garzik <jgarzik@mandrakesoft.com> wrote:
; Andrey Savochkin wrote:
;
; Think about what Donald is doing, and remember that inw() is not really
; inw() here!
;
; Remember first that eepro100 is generally MMIO, so you the following is
; in effect:
; #define inw writew
;
; So, by replacing the udelay() with writew(), Donald not only introduces
; a small delay, but also posts any pending PCI writes. That may be
; important, may be nothing...
;
; In any case, if you were thinking about it, I wouldn't blindly replace
; writew() with udelay() or anything like that -- leave the writew() in
; there, and add an additional udelay() if the circumstances call for it.
; Excluding the writew() increases the potential for seeming EEPROM code
; flakiness, because few drivers have thus far been completely audited,
; updated, and tested for correct MMIO flush semantics.

I think that inw there is just for timing purposes since the
card/eeprom specification doesnt require anything else than a delay.

I don't think using inw for timing is a good idea especially
now that the driver tries to use MMIO and inw is redefined in the
driver to use memory instead of io ports, the timing frequency
changes so you might not satisfy the minimal clock frequency
specification.

-- 

-Dragan

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



This archive was generated by hypermail 2b29 : Tue May 23 2000 - 21:00:22 EST