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
