]>
Commit | Line | Data |
---|---|---|
87b9ad07 MCC |
1 | /* |
2 | * helper functions for vmalloc capture buffers | |
3 | * | |
4 | * The functions expect the hardware being able to scatter gatter | |
5 | * (i.e. the buffers are not linear in physical memory, but fragmented | |
6 | * into PAGE_SIZE chunks). They also assume the driver does not need | |
7 | * to touch the video data. | |
8 | * | |
9 | * (c) 2007 Mauro Carvalho Chehab, <mchehab@infradead.org> | |
10 | * | |
11 | * This program is free software; you can redistribute it and/or modify | |
12 | * it under the terms of the GNU General Public License as published by | |
13 | * the Free Software Foundation; either version 2 | |
14 | */ | |
15 | ||
16 | #include <media/videobuf-core.h> | |
17 | ||
18 | /* --------------------------------------------------------------------- */ | |
19 | ||
20 | struct videbuf_vmalloc_memory | |
21 | { | |
22 | u32 magic; | |
23 | ||
24 | /* for mmap'ed buffers */ | |
25 | struct videobuf_mapping *map; | |
26 | ||
27 | void *vmalloc; | |
28 | ||
29 | /* remap_vmalloc_range seems to need to run after mmap() on some cases */ | |
30 | struct vm_area_struct *vma; | |
31 | }; | |
32 | ||
33 | void videobuf_queue_vmalloc_init(struct videobuf_queue* q, | |
34 | struct videobuf_queue_ops *ops, | |
35 | void *dev, | |
36 | spinlock_t *irqlock, | |
37 | enum v4l2_buf_type type, | |
38 | enum v4l2_field field, | |
39 | unsigned int msize, | |
40 | void *priv); | |
41 | ||
42 | void *videobuf_to_vmalloc (struct videobuf_buffer *buf); | |
43 | ||
44 | void videobuf_vmalloc_free (struct videobuf_buffer *buf); |