On Wednesday 21 November 2007 21:02:25 Larry Finger wrote: > Michael Buesch wrote: > > On Wednesday 21 November 2007 20:31:53 Larry Finger wrote: > >> The BCM94311MCG rev 02 chip has an 802.11 core with revision 13 and > >> has not been supported until now. The changes include the following: > >> > >> (1) Add the 802.11 rev 13 device to the ssb_device_id table to load b43. > >> (2) Add PHY revision 9 to the supported list. > >> (3) Fix 64-bit addressing errors. > >> (4) Remove some magic numbers in the DMA setup. > >> > >> The DMA implementation for this chip supports full 64-bit addressing with > >> one exception. Whenever the Descriptor Ring Buffer is in high memory, a > >> fatal DMA error occurs. This problem was not present in 2.6.24-rc2 due > >> to code to "Bias the placement of kernel pages at lower PFNs". When > >> commit 44048d70 reverted that code, the DMA error appeared. As a "fix", > >> use the GFP_DMA flag when allocating the buffer for 64-bit DMA. At present, > >> this problem is thought to arise from a hardware error. The present driver > >> allocates one ring buffer for RX and six for TX; however, only one of the > >> TX buffers is used. To minimize any system impact associated with using low > >> memory, this patch removes the allocation of the unused buffers. > >> > >> This patch has been tested by Cédric Caumont <icare40@xxxxxxxxxxx>. > >> > > > >> @@ -954,19 +955,21 @@ int b43_dma_init(struct b43_wldev *dev) > >> > >> err = -ENOMEM; > >> /* setup TX DMA channels. */ > >> - ring = b43_setup_dmaring(dev, 0, 1, dma64); > >> + ring = b43_setup_dmaring(dev, 1, 1, dma64); > >> if (!ring) > >> goto out; > >> - dma->tx_ring0 = ring; > >> + dma->tx_ring1 = ring; > >> > >> - ring = b43_setup_dmaring(dev, 1, 1, dma64); > >> + /* The driver only uses ring1 for TX - skip setup for the rest */ > >> +#if 0 > > > > NACK. > > Are you NACKing the "if 0" or the elimination of the unused TX rings? Perhaps we could have Both > if (ring->dma64) > goto out; No, I am going to submit patches to enable use of multiple TX queues. See my quilt series. Simply don't change current behaviour. ;) The only reason for me holding these patches back is that I could not sufficiently test them yet. -- Greetings Michael. - To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html