TI's Codec Engine Linux Utils module CMEM can do what you want, but I don't know if it's even a possibility for you. EDMA requires physically contiguous buffers, so in addition to needing to know the physical address, you also must ensure that your buffers are contiguous physically, and CMEM provides both these services.
Regards, - Rob > -----Original Message----- > From: > [email protected] > p.com > [mailto:[email protected] > avincidsp.com] On Behalf Of Andrea Gasparini > Sent: Thursday, June 11, 2009 3:55 AM > To: davinci-linux-open-source > Subject: EDMA with user provided virtual addresses. > > Hi, > I'm coding a module that takes from userspace an address > pointer, and uses it to fill the memory with some EDMA process. > > My problem is that EDMA (fairly) wants a physical address: I > usually use > dma_map_single() to have returned a physical pointer to do > this kind of stuff, but in this case, although, pointer are > from user spaces, and so involves mmu. > > So, the question is: is there a way to use EDMA with (at > least one) user space address? Can I know (and how) a > physical address given the userspace one? > If could make the answer easier: I'm not (ATM) using swap > space at all, so pages are surely resident in memory. > > Thanks, bye! > -- > Andrea Gasparini > ---- ImaVis S.r.l. ---- > web: www.imavis.com > > _______________________________________________ > Davinci-linux-open-source mailing list > [email protected] > http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source > _______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
