On Tue, 13 Jul 2010 09:42:44 +0100 Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> wrote: > 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. Drivers can tell the USB layer that these are vmapped buffers? Adding something to struct urb? I might be totally wrong since I don't know anything about the USB layer. -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html