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

Re: AmigaOne 2.6.x Linux kernel port



> --- Ursprüngliche Nachricht ---
> Von: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> An: Gerhard Pircher <gerhard_pircher@gmx.net>
> Kopie: debian-powerpc@lists.debian.org
> Betreff: Re: AmigaOne 2.6.x Linux kernel port
> Datum: Thu, 01 Dec 2005 13:17:47 +1100
> 
> 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.
As far as I can understand you refer to the non cocherent DMA memory
allocation functions in arch/ppc/kernel/dma-mapping.c, right? Regarding the
BAT mapping: can you give me an example for this or a link to a reference
implementation?, because I'm afraid I can only image for now, what you're
trying to explane me (as I said, I'm a kernel newbie, but I'll try to do
what I can). :-)

Thanks!

Gerhard

-- 
Lust, ein paar Euro nebenbei zu verdienen? Ohne Kosten, ohne Risiko!
Satte Provisionen für GMX Partner: http://www.gmx.net/de/go/partner



Reply to: