[PATCH] b43: use rx desc underrun interrupt

Michael Büsch m at bues.ch
Sun Apr 21 04:44:40 EDT 2013


On Sun, 21 Apr 2013 10:22:51 +0200 (CEST)
Thommy Jakobsson <thommyj at gmail.com> wrote:

> The device stops sending when it hits the rx index. Thats what rx index 
> is, the address after the last slot the device is allowed to use. In the 
> driver it is used as the last slot handled, so if the device would 
> continue it will overwrite slots that hasn't been read. So you need to 
> handle that in someway. One way is using my patch, another is to never let 
> it hit rx index (as Piotras is working on).

Yeah I get that. But why do we need to handle that by putting the stop index
right beyond the ring? That requires us to get another RX interrupt before the
ring fills up again. Why can't we set it so that the ring is fully writable again,
but not set it beyond the ring boundary? I guess that is decrementing it by one,
perhaps, honoring 0-index-wrapover.

> Normally the device never hit the rx index, and in such case it will just 
> use the next descriptor in the table. If it finds a descriptor with END 
> set, it will jump back to the beginning. Forming the ring

I know how that basic stuff works, because I wrote most of the code ;D

-- 
Michael
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/b43-dev/attachments/20130421/59279114/attachment.sig>


More information about the b43-dev mailing list