[RFT][PATCH] b43: DMA: debug rings alignment

ISE Development isedev at gmail.com
Thu Mar 14 19:46:59 EDT 2013


On Thursday 14 Mar 2013 23:32:23 ISE Development wrote:
> On Thursday 14 Mar 2013 21:58:18 ISE Development wrote:
> > On Thursday 14 Mar 2013 21:41:21 Rafał Miłecki wrote:
> > > index 38bc5a7..30da6ce 100644
> > > --- a/drivers/net/wireless/b43/dma.c
> > > +++ b/drivers/net/wireless/b43/dma.c
> > > @@ -915,6 +915,21 @@ struct b43_dmaring *b43_setup_dmaring(struct
> > > b43_wldev
> > > *dev, ring->last_injected_overflow = jiffies;
> > > 
> > >  #endif
> > > 
> > > +       if (type == B43_DMA_64BIT) {
> > > +               u32 tmp;
> > > +               if (for_tx) {
> > > +                       b43_write32(dev, ring->mmio_base +
> > > B43_DMA64_TXRINGLO, 0xff0); 
> > > +                       tmp = b43_read32(dev, ring->mmio_base +
> > > B43_DMA64_TXRINGLO);
> > > +                       pr_info("[DBG] Testing TX on ring 0x%X: 0x%X\n",
> > > ring->mmio_base, tmp); 
> > > +               } else {
> > > +                       b43_write32(dev, ring->mmio_base +
> > > B43_DMA64_RXRINGLO, 0xff0);
> > > +                       tmp = b43_read32(dev, ring->mmio_base +
> > > B43_DMA64_RXRINGLO);
> > > +                       pr_info("[DBG] Testing RX on ring 0x%X: 0x%X\n",
> > > ring->mmio_base, tmp);
> > > +               }
> > > +       } else {
> > > +               pr_err("[DBG] Whoops, it's not 64b DMA engine!\n");
> > > +       }
> > > +
> > > 
> > >         if (for_tx) {
> > >         
> > >                 /* Assumption: B43_TXRING_SLOTS can be divided by
> > > 
> > > TX_SLOTS_PER_FRAME */ BUILD_BUG_ON(B43_TXRING_SLOTS % TX_SLOTS_PER_FRAME
> > > !=
> > > 0);
> > 
> > Will start testing now...
> 
> Here's the output:
> 
> [38667.424687] b43-phy0 debug: [DBG] Testing TX on ring 0x200: 0x0
> [38667.424733] b43-phy0 debug: [DBG] Testing TX on ring 0x240: 0x0
> [38667.424787] b43-phy0 debug: [DBG] Testing TX on ring 0x280: 0x0
> [38667.424840] b43-phy0 debug: [DBG] Testing TX on ring 0x2C0: 0x0
> [38667.424894] b43-phy0 debug: [DBG] Testing TX on ring 0x300: 0x0
> [38667.424948] b43-phy0 debug: [DBG] Testing RX on ring 0x200: 0x0

Other than that, similar error sequence:

- hits slot 138 on ring 3, then out of order errors
- hits slot 208 on ring 1, then out of order errors
- AP times out connection (to be expected)

-- 
-- isedev



More information about the b43-dev mailing list