Thread (26 messages) 26 messages, 5 authors, 2006-12-26

Re: [PATCH 1/14] Spidernet DMA coalescing

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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help