Re: [PATCH] asm-generic: add dma-mapping-linear.h

FUJITA Tomonori
2009-06-01T09:32:55Z

On Mon, 1 Jun 2009 10:22:59 +0100
Russell King <rmk+lkml@arm.linux.org.uk> wrote:

> On Mon, Jun 01, 2009 at 06:16:56PM +0900, FUJITA Tomonori wrote:
> > On Mon, 1 Jun 2009 09:29:43 +0100
> > Russell King <rmk+lkml@arm.linux.org.uk> wrote:
> >
> > > On Mon, Jun 01, 2009 at 05:08:09PM +0900, FUJITA Tomonori wrote:
> > > > This adds a version of the dma-mapping API to asm-generic that can be
> > > > used by most architectures that only need a linear mapping.
> > >
> > > It depends what is meant by "linear mapping".
> > >
> > > If that's just a way of saying "all that needs to be done for the
> > > DMA streaming APIs is to flush the cache" then the vast majority of
> > > ARMs fall into that category.
> >
> > I guess that his definition is 'no dynamic remapping'.
>
> ... which as I say is what ARM does for the streaming mappings.

Ok, then we agree.

> > > The DMA bounce code is a broken design concept that really needs to
> > > be put to death.
> >
> > You are talking about arch/arm/common/dmabounce.c? If so, it sounds
> > more interesting (to me at least). It's kinda swiotlb per device,
> > right? What you want to do for arch/arm/common/dmabounce.c?
>
> Yes.
>
> It's a nasty hack which leads to OOMs on various platforms since it
> causes additional memory pressure from parts of the kernel which we
> don't expect, and also causes additional difficulty with allocating
> and freeing DMA memory from IRQ context. There's an unsolved bug in
> the kernel bugzilla for this which I see no hope of ever being resolved.
>
> I _really_ wish that dmabounce never existed. It's a right royal
> pain in the preverbial.

Can ARM replace the dmabounce with swiotlb?