blob: 7e6c68b23773b7d9fa237fbea8d84c085670a9ea [file] [log] [blame]
Pawel Osciak1a758d42010-10-11 10:59:36 -03001/*
2 * videobuf2-dma-coherent.h - DMA coherent memory allocator for videobuf2
3 *
4 * Copyright (C) 2010 Samsung Electronics
5 *
Pawel Osciak95072082011-03-13 15:23:32 -03006 * Author: Pawel Osciak <pawel@osciak.com>
Pawel Osciak1a758d42010-10-11 10:59:36 -03007 *
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_COHERENT_H
14#define _MEDIA_VIDEOBUF2_DMA_COHERENT_H
15
16#include <media/videobuf2-core.h>
Pawel Osciak472af2b2011-03-14 10:38:24 -030017#include <linux/dma-mapping.h>
Pawel Osciak1a758d42010-10-11 10:59:36 -030018
Pawel Osciak472af2b2011-03-14 10:38:24 -030019static inline dma_addr_t
20vb2_dma_contig_plane_paddr(struct vb2_buffer *vb, unsigned int plane_no)
Pawel Osciak1a758d42010-10-11 10:59:36 -030021{
Pawel Osciak472af2b2011-03-14 10:38:24 -030022 dma_addr_t *paddr = vb2_plane_cookie(vb, plane_no);
23
24 return *paddr;
Pawel Osciak1a758d42010-10-11 10:59:36 -030025}
26
27void *vb2_dma_contig_init_ctx(struct device *dev);
28void vb2_dma_contig_cleanup_ctx(void *alloc_ctx);
29
30extern const struct vb2_mem_ops vb2_dma_contig_memops;
31
32#endif