[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: AmigaOne 2.6.x Linux kernel port



On Wed, 2005-11-30 at 23:19 +0100, Gerhard Pircher wrote:

> 
> The code in amigaone_dma-mapping.c was directly copied from dma-mapping.c
> (in arch/ppc/kernel/). I think the main problem lies in dma-mapping.h, were
> I just added some cache flush functions to the DMA allocation functions for
> coherent architectures (dma_alloc_coherent, dma_free_coherent). So can
> anyone explain me, what the differences between the DMA allocation functions
> for coherent and non coherent architectures are? How can the non coherent
> DMA memory allocation functions be adapted for the AmigaOne?

You need the consistent memory alloc functions to return uncached
memory. The current code for 6xx/7xx/7xxx processors assumes coherency
support and thus doesn't have the ability to do that. It shouldn't be
too difficult to fix if you kill the BAT mappings of memory (at least
the data BATs, you must keep the IBAT).

That will affect performances, but will also allow you to have per-page
control of the page attributes of the kernel memory.

Ben.




Reply to: