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:
- 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