[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20100729131500Q.fujita.tomonori@lab.ntt.co.jp>
Date: Thu, 29 Jul 2010 13:15:37 +0900
From: FUJITA Tomonori <fujita.tomonori@....ntt.co.jp>
To: linux@....linux.org.uk
Cc: arnd@...db.de, linux-arm-kernel@...ts.infradead.org,
linux-arm-msm@...r.kernel.org, dwalker@...eaurora.org,
stepanm@...eaurora.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/2] arm: msm: Add System MMU support.
On Wed, 28 Jul 2010 22:21:56 +0100
Russell King - ARM Linux <linux@....linux.org.uk> wrote:
> On Wed, Jul 28, 2010 at 07:50:20PM +0200, Arnd Bergmann wrote:
> > The DMA API is extremely flexible, it works just fine with all the
> > IOMMUs that I've seen so far. Please take a look at
> > include/asm-generic/dma-mapping-common.h and its users to see how
> > to use multiple IOMMUs depending on the device.
>
> We don't yet use those DMA API interface extensions because we haven't
> had the need. If someone who has the need wants to put the effort in
> though...
>
> One of the problems with it though is the abstraction of the sync*
> operations is the wrong way around for stuff like dmabounce - we want
> to be passed the base address of the buffer (so we can look this up),
> plus offset and length. We don't want to know just the region which
> is affected.
We can't pass the base address because the DMA API callers don't pass
the base address for dma_sync_single_for_{device|cpu}.
dma_sync_single_range_for_* requires the base address but they are
obsolete.
So you need to fix dmabounce. Actually, I send you a patch to fix
dmabounce long ago (looks like not applied yet):
http://kerneltrap.org/mailarchive/linux-netdev/2010/4/5/6274046
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists