1 /* 2 * videobuf2-dma-contig.h - DMA contig memory allocator for videobuf2 3 * 4 * Copyright (C) 2010 Samsung Electronics 5 * 6 * Author: Pawel Osciak <pawel@osciak.com> 7 * 8 * This program is free software; you can redistribute it and/or modify 9 * it under the terms of the GNU General Public License as published by 10 * the Free Software Foundation. 11 */ 12 13 #ifndef _MEDIA_VIDEOBUF2_DMA_CONTIG_H 14 #define _MEDIA_VIDEOBUF2_DMA_CONTIG_H 15 16 #include <media/videobuf2-v4l2.h> 17 #include <linux/dma-mapping.h> 18 19 struct dma_attrs; 20 21 static inline dma_addr_t 22 vb2_dma_contig_plane_dma_addr(struct vb2_buffer *vb, unsigned int plane_no) 23 { 24 dma_addr_t *addr = vb2_plane_cookie(vb, plane_no); 25 26 return *addr; 27 } 28 29 void *vb2_dma_contig_init_ctx_attrs(struct device *dev, 30 struct dma_attrs *attrs); 31 32 static inline void *vb2_dma_contig_init_ctx(struct device *dev) 33 { 34 return vb2_dma_contig_init_ctx_attrs(dev, NULL); 35 } 36 37 void vb2_dma_contig_cleanup_ctx(void *alloc_ctx); 38 39 extern const struct vb2_mem_ops vb2_dma_contig_memops; 40 41 #endif 42