TXEOL semantics (was Re: broken TX in HEAD (AR5212))

Adrian Chadd adrian at freebsd.org
Tue Sep 25 03:39:03 UTC 2012


Grr.

On 23 September 2012 15:32, Adrian Chadd <adrian at freebsd.org> wrote:
> That's not too scary; just slightly wasteful.
>
> But the annoying one:
>
> * I'm getting TXEOL interrupts appearing (which is by design, so
> that's OK) - but then when the descriptor is checked, the first
> descriptor in the list shows up as HAL_EINPROGRESS - and sure enough,
> the contents of that descriptor are not yet initialised. Now on my
> MIPS boards the descriptors are in KSEG1 - which is supposed to be
> unmapped, uncached memory. A subsequent TXEOL (from another descriptor
> being pushed into the queue) or TXOK (from that descriptor completing
> TX successfully) will kick the queue along.

... aaand yes, I've just discovered that TXEOL indeed can occur before
the descriptor(s) in the queue have been TXed and the TX status has
been written back. It just signals the MAC has hit the end of the TX
list for that hardware queue.

Grr. That software driven TX interrupt coalescing hack.. subtly wrong. :(



Adrian


More information about the freebsd-wireless mailing list