> --- Ursprüngliche Nachricht --- > Von: Benjamin Herrenschmidt <[EMAIL PROTECTED]> > An: Gerhard Pircher <[EMAIL PROTECTED]> > Kopie: [email protected] > 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 -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

