On Sun, Aug 20, 2006 at 11:35:58PM +0200, Francois Romieu wrote:
quoted
1. Writing zero to the upper part of the TxDescStartAddr register (via
the MMIO region) somehow also clears the lower part, and writing the
upper and lower halves the other way round fixes it. The RxDescAddr
register doesn't seem to suffer from this problem.
The Realtek r1000 driver writes the two halves in the same order as
r8169, but it doesn't happen there, which is a bit of a mystery to
me.
[snip]
1 - unknown so far. Realtek's driver actually use IO, not MM. I do not see
why it would make a difference as long as posteed writes are correctly
taken care of.
I suspect it's a chip bug. I rechecked with I/O space, and that works
okay, so this artifact (bug) only manifests itself when you do the upper
write in MMIO space.
Are there any plans to switch r8169 to the iomap API? Would you take
a patch if I'd write one?
cheers,
Lennert