Commit 18180651fd156f33be363b0c952efb4d29812b38

Authored by Geert Uytterhoeven
Committed by Marek Szyprowski
1 parent afbe21d8b3

c6x: Provide dummy dma_mmap_coherent() and dma_get_sgtable()

c6x/allmodconfig (assumed):

drivers/media/v4l2-core/videobuf2-dma-contig.c: In function ‘vb2_dc_mmap’:
drivers/media/v4l2-core/videobuf2-dma-contig.c:204: error: implicit declaration of function ‘dma_mmap_coherent’
drivers/media/v4l2-core/videobuf2-dma-contig.c: In function ‘vb2_dc_get_base_sgt’:
drivers/media/v4l2-core/videobuf2-dma-contig.c:387: error: implicit declaration of function ‘dma_get_sgtable’

For architectures using dma_map_ops, dma_mmap_coherent() and
dma_get_sgtable() are provided in <asm-generic/dma-mapping-common.h>.

C6x does not use dma_map_ops, hence it should implement them itself.
For now, use dummy implementations that just return -EINVAL, until the API
has been finalized.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: linux-c6x-dev@linux-c6x.org
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>

Showing 1 changed file with 15 additions and 0 deletions Side-by-side Diff

arch/c6x/include/asm/dma-mapping.h
... ... @@ -89,5 +89,20 @@
89 89 #define dma_alloc_noncoherent(d, s, h, f) dma_alloc_coherent((d), (s), (h), (f))
90 90 #define dma_free_noncoherent(d, s, v, h) dma_free_coherent((d), (s), (v), (h))
91 91  
  92 +/* Not supported for now */
  93 +static inline int dma_mmap_coherent(struct device *dev,
  94 + struct vm_area_struct *vma, void *cpu_addr,
  95 + dma_addr_t dma_addr, size_t size)
  96 +{
  97 + return -EINVAL;
  98 +}
  99 +
  100 +static inline int dma_get_sgtable(struct device *dev, struct sg_table *sgt,
  101 + void *cpu_addr, dma_addr_t dma_addr,
  102 + size_t size)
  103 +{
  104 + return -EINVAL;
  105 +}
  106 +
92 107 #endif /* _ASM_C6X_DMA_MAPPING_H */