[RFC] ARM: dma_map|unmap_sg plus iommu
Marek Szyprowski
m.szyprowski at samsung.com
Fri Jul 29 06:14:25 EDT 2011
Hello,
On Friday, July 29, 2011 11:36 AM Joerg Roedel wrote:
> On Fri, Jul 29, 2011 at 09:50:32AM +0200, Marek Szyprowski wrote:
> > On Thursday, July 28, 2011 11:10 PM Ramirez Luna, Omar wrote:
>
> > > 2. tidspbridge driver sometimes needs to map a physical address into a
> > > fixed virtual address (i.e. the start of a firmware section is expected to
> > > be at dsp va 0x20000000), there is no straight forward way to do this with
> > > the dma api given that it only expects to receive a cpu_addr, a sg or a
> > > page, by adding iov_address I could pass phys and iov addresses in a sg
> > > and overcome this limitation, but, these addresses belong to:
> >
> > We also encountered the problem of fixed firmware address. We addressed is
by
> > setting io address space start to this address and letting device driver to
> > rely on the fact that the first call to dma_alloc() will match this address.
>
> This sounds rather hacky. How about partitioning the address space for
> the device and give the dma-api only a part of it. The other parts can
> be directly mapped using the iommu-api then.
Well, I'm not convinced that iommu-api should be used by the device drivers
directly. If possible we should rather extend dma-mapping than use such hacks.
Best regards
--
Marek Szyprowski
Samsung Poland R&D Center
More information about the linux-arm-kernel
mailing list