Hi David, 

> Not really.  The usual way to handle that sort of thing is
> to make whatever user-to-kernel mapping call you need,
> which returns something along the lines of a scatterlist.
> Then just construct a chain of DMA transfers, one for
> each segment.

Thanks for your suggestion. I still don't find anything to do "user-to-
kernel mapping", but I haven't had much time to search for them.
( I see you said "kmap calls would apply for single highmem pages", but 
user space aren't really 'highmem', right?)

> Map that to the kernel, and it'll still be three pages but
> the page addresses will differ ... say, pages X, Y, and Z.
> Offsets and lengths will be unchanged.  Now just feed EDMA
> a chain of three transfers.

Understood... my only doubt is if EDMA in MV kernel supports transfer 
chaining: I recall that the driver use fixed PaRam for each channel, am I 
wrong?

I can't use CMEM (and sincerely I'd want to use it only if strictly 
necessary), cause the destination address is given by a 'third party' 
library that wants do  the allocation by itself.

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

Reply via email to