Commit | Line | Data |
---|---|---|
004cc378 MS |
1 | /* |
2 | * videobuf2-memops.h - generic memory handling routines for videobuf2 | |
3 | * | |
4 | * Copyright (C) 2010 Samsung Electronics | |
5 | * | |
95072084 | 6 | * Author: Pawel Osciak <pawel@osciak.com> |
004cc378 MS |
7 | * Marek Szyprowski <m.szyprowski@samsung.com> |
8 | * | |
9 | * This program is free software; you can redistribute it and/or modify | |
10 | * it under the terms of the GNU General Public License as published by | |
11 | * the Free Software Foundation. | |
12 | */ | |
13 | ||
14 | #ifndef _MEDIA_VIDEOBUF2_MEMOPS_H | |
15 | #define _MEDIA_VIDEOBUF2_MEMOPS_H | |
16 | ||
17 | #include <media/videobuf2-core.h> | |
18 | ||
19 | /** | |
20 | * vb2_vmarea_handler - common vma refcount tracking handler | |
21 | * @refcount: pointer to refcount entry in the buffer | |
22 | * @put: callback to function that decreases buffer refcount | |
23 | * @arg: argument for @put callback | |
24 | */ | |
25 | struct vb2_vmarea_handler { | |
26 | atomic_t *refcount; | |
27 | void (*put)(void *arg); | |
28 | void *arg; | |
29 | }; | |
30 | ||
31 | extern const struct vm_operations_struct vb2_common_vm_ops; | |
32 | ||
33 | int vb2_get_contig_userptr(unsigned long vaddr, unsigned long size, | |
34 | struct vm_area_struct **res_vma, dma_addr_t *res_pa); | |
35 | ||
004cc378 MS |
36 | struct vm_area_struct *vb2_get_vma(struct vm_area_struct *vma); |
37 | void vb2_put_vma(struct vm_area_struct *vma); | |
38 | ||
39 | ||
40 | #endif |