On Tue, 13 Jul 2010 17:30:43 +0900 FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx> wrote: > On Tue, 13 Jul 2010 09:20:12 +0100 > Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> wrote: > > > > Why video4linux can't use the DMA API? Doing DMA with vmalloc'ed > > > buffers is a thing that we should avoid (there are some exceptions > > > like xfs though). > > > > Vmalloc is about the only API for creating virtually linear memory areas. > > The video stuff really needs that to avoid lots of horrible special cases > > when doing buffer processing and the like. > > > > Pretty much each driver using it has a pair of functions 'rvmalloc' and > > 'rvfree' so given a proper "vmalloc_for_dma()" type interface can easily > > be switched > > We already have helper functions for DMA with vmap pages, > flush_kernel_vmap_range and invalidate_kernel_vmap_range. I'm not sure they help at all because the DMA user for these pages isn't the video driver - it's the USB layer, and the USB layer isn't specifically aware it is being passed vmap pages. Alan -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>