Re: [PATCH 1/14] Spidernet DMA coalescing
From: Christoph Hellwig <hch@infradead.org>
Date: 2006-12-14 11:05:39
Also in:
netdev
From: Christoph Hellwig <hch@infradead.org>
Date: 2006-12-14 11:05:39
Also in:
netdev
On Wed, Dec 13, 2006 at 03:06:59PM -0600, Linas Vepstas wrote:
The current driver code performs 512 DMA mappings of a bunch of 32-byte ring descriptor structures. This is silly, as they are all in contiguous memory. This patch changes the code to dma_map_coherent() each rx/tx ring as a whole.
It's acutally dma_alloc_coherent now that you updated the patch :)
+ chain->ring = dma_alloc_coherent(&card->pdev->dev, alloc_size, + &chain->dma_addr, GFP_KERNEL); + if (!chain->ring) + return -ENOMEM; + descr = chain->ring; + memset(descr, 0, alloc_size);
dma_alloc_coherent is defined to zero the allocated memory, so you won't need this memset.