From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael =?UTF-8?B?QsO8c2No?= Date: Sun, 21 Apr 2013 16:59:51 +0200 Subject: [PATCH] b43: use rx desc underrun interrupt In-Reply-To: References: <20130420211223.640b7c5b@milhouse> <20130420215056.3d0b0dbb@milhouse> <20130421083822.5d6599e3@milhouse> <20130421104440.48a3e006@milhouse> <20130421112118.627a1f7f@milhouse> Message-ID: <20130421165951.59bc58c8@milhouse> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: b43-dev@lists.infradead.org On Sun, 21 Apr 2013 15:46:03 +0100 Piotras wrote: > On Sun, Apr 21, 2013 at 1:12 PM, Thommy Jakobsson wrote: > > > > > > On Sun, 21 Apr 2013, Michael B?sch wrote: > > > >> On Sun, 21 Apr 2013 11:01:11 +0200 (CEST) > >> Thommy Jakobsson wrote: > >> > >> > Why is it set to to beyond the ring when it is initilised? > >> > >> That's what broadcom does in their implementation. I guess that's the only reason. > >> > > Check, I'll give index-1 a go. It should be quite obvious if it works or > > not. > > Thommy, > > I had the same thought, but notice that you also need to update > ring->current_slot in b43_dma_rx_discard. I don't think so. We don't modify the descriptor pointer, but the stop index. > I guess the following could be used to mark all descriptors for DMA > use from RX underflow interrupt or whenever we decide that number of > free descriptors is too low (not tested): > > slot = prev_slot(ring, ops->get_current_rxslot(ring)); > wmb(); > ops->set_current_rxslot(ring, slot); get_current_rxslot() reads a different register than set_current_rxslot(). get_current_rxslot() returns the descriptor pointer that the device is pointing to. set_current_rxslot() sets the _stop_ index. Yes, at least the last one is misnamed. > Not sure if FIFO overruns are really an issue and how to prevent them. > Maybe RX underflow should be handled in top half and reprogram device > to suspend receives (is this possible)? What is "top half"? -- Michael -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: not available URL: