On Mon, Aug 2, 2010 at 10:54 AM, Adam Wozniak <awozniak@xxxxxxxxxx> wrote: > Hello, > > I'm working with an OMAP3530 based custom board. The board has 4 cameras > attached to it, <snip> > The problem I'm running into (I think) is that omap34xxcam.c uses > videobuf-dma-sg to do its allocation and the videobuf_buffer I get is using > a scatterlist, and the pages in the scatterlist are noncontiguous. In other > words, if I use videobuf_to_dma(vb), the videobuf_dmabuf I get back has a > vmalloc of null and a bus_addr of null; only the scatterlist and pages > fields have valid values. There's no contiguous memory pointer I can grab > onto there. > > How do I get a pointer suitable for SDMA? Will anything map this > scatterlist so it looks contiguous for SDMA? Hi Adam, Not sure if it will help you, but I use this trick, also on a 3530, to get a contiguous block of memory by setting "mem=" in the bootloader : http://elinux.org/Memory_Management#Reserving_.28and_accessing.29_the_top_of_memory_on_startup , then I use ioremap() in my driver and open("/dev/mem") in userspace to point to the same memory. , John -- 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