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 <[EMAIL PROTECTED]>.
>>
>
>> @@ -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
if (ring->dma64)
goto out;
Larry
_______________________________________________
Bcm43xx-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev