media: videobuf-dma-contig: use dma_mmap_coherent
authorChristoph Hellwig <hch@lst.de>
Wed, 18 Dec 2019 10:39:07 +0000 (11:39 +0100)
committerChristoph Hellwig <hch@lst.de>
Mon, 21 Nov 2022 08:35:10 +0000 (09:35 +0100)
commitb3dc3f8e49577840dc8ac8a365c5b3da4edb10b8
tree12fa7db34230fd25e0c903fa3a973843778eb8b3
parent8d58aa484920c4f9be4834a7aeb446cdced21a37
media: videobuf-dma-contig: use dma_mmap_coherent

dma_alloc_coherent does not return a physical address, but a DMA address,
which might be remapped or have an offset.  Passing the DMA address to
vm_iomap_memory is thus broken.

Use the proper dma_mmap_coherent helper instead, and stop passing
__GFP_COMP to dma_alloc_coherent, as the memory management inside the
DMA allocator is hidden from the callers and does not require it.

With this the gfp_t argument to __videobuf_dc_alloc can be removed and
hard coded to GFP_KERNEL.

Fixes: a8f3c203e19b ("[media] videobuf-dma-contig: add cache support")
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/media/v4l2-core/videobuf-dma-contig.c