• Marek Szyprowski's avatar
    media: vb2-dma-contig: add helper for setting dma max seg size · 3f033969
    Marek Szyprowski authored
    Add a helper function for device drivers to set DMA's max_seg_size.
    Setting it to largest possible value lets DMA-mapping API always create
    contiguous mappings in DMA address space. This is essential for all
    devices, which use dma-contig videobuf2 memory allocator and shared
    buffers.
    
    Till now, the only case when vb2-dma-contig really 'worked' was a case
    where userspace provided USERPTR buffer, which was in fact mmaped
    contiguous buffer from the other v4l2/drm device. Also DMABUF made of
    contiguous buffer worked only when its exporter did not split it into
    several chunks in the scatter-list. Any other buffer failed, regardless
    of the arch/platform used and the presence of the IOMMU of the device bus.
    
    This patch provides interface to fix this issue.
    Signed-off-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
    Signed-off-by: default avatarSylwester Nawrocki <s.nawrocki@samsung.com>
    3f033969
videobuf2-dma-contig.c 19.8 KB