[PATCH] b43: use rx desc underrun interrupt
Michael Büsch
m at bues.ch
Sat Apr 20 15:12:23 EDT 2013
On Sat, 20 Apr 2013 16:14:09 +0200 (CEST)
Thommy <thommyj at gmail.com> wrote:
> +void b43_dma_rx_discard(struct b43_dmaring *ring)
> +{
> + B43_WARN_ON(ring->tx);
> +
> + /* Device has filled all buffers, drop all packets in buffers
> + * and let TCP decrease speed.
> + * Set index to one desc after the last one
> + * so the device will see all slots as free again
> + */
> + /*
> + *TODO: How to increase rx_drop in mac80211?
> + */
> + b43_dma_write(ring, B43_DMA32_RXINDEX, ring->nr_slots *
> + sizeof(struct b43_dmadesc32));
> +}
You need to check whether this is a 32bit or 64bit DMA engine and
write to B43_DMA32_RXINDEX or B43_DMA64_RXINDEX.
You could simply use the ring->ops->set_current_rxslot() dmaop for that.
And I think you need to set ring->current_slot to the value of ring->ops->get_current_slot().
Not 100% sure, though, since it is years since I worked on that code.
--
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/20130420/8697d8d4/attachment.sig>
More information about the b43-dev
mailing list