Re: [patch] x86, voyager: fix ioremap_nocache()

From: James Bottomley
Date: Sun Apr 27 2008 - 18:34:35 EST


Here's another piece of the x86 API that's designed to be cached. The
dma_declare_coherent_memory() usually represents behind bridge memory
that's fully participatory in the coherence model.

Making it uncached damages the utility of this memory because doing
cacheline sized burst cycles when needed to it is far faster than
individual byte/word/quad writes.

Signed-off-by: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx>

---

diff --git a/arch/x86/kernel/pci-dma.c b/arch/x86/kernel/pci-dma.c
index 388b113..df83ffd 100644
--- a/arch/x86/kernel/pci-dma.c
+++ b/arch/x86/kernel/pci-dma.c
@@ -214,7 +214,7 @@ int dma_declare_coherent_memory(struct device *dev, dma_addr_t bus_addr,

/* FIXME: this routine just ignores DMA_MEMORY_INCLUDES_CHILDREN */

- mem_base = ioremap(bus_addr, size);
+ mem_base = ioremap_cache(bus_addr, size);
if (!mem_base)
goto out;



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/