2011/6/16 Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>: > Hello Scott, > >> Hi Marek and Laurent, >> >> I am working on v4l2 drivers for blackfin which is a no mmu soc. >> I found videobuf allocate memory in mmap not reqbuf, so I turn to videobuf2. >> But __setup_offsets() use plane offset to fill m.offset, which is >> always 0 for single-planar buffer. >> So pgoff in get_unmapped_area callback equals 0. >> I only found uvc handled get_unmapped_area for no mmu system, but it >> manages buffers itself. >> I really want videobuf2 to manage buffers. Please give me some advice. > > I'm not really sure if I know the differences between mmu and no-mmu > systems (from the device driver perspective). I assume that you are using > videobuf2-vmalloc allocator. Note that memory allocators/managers are well > separated from the videobuf2 logic. If it the current one doesn't serve you > well you can make your own no-mmu allocator. Later once we identify all > differences it might be merged with the standard one or left alone if the > merge is not really possible or easy. > > Best regards > -- > Marek Szyprowski > Samsung Poland R&D Center > > > Hi Marek, I used dma-contig allocator. I mean if offset is 0, I must get actual addr from this offset. __find_plane_by_offset can do this. But it is an internal function. I think there should be a function called vb2_get_unmapped_area to do this in framework side. Regards, Scott -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html