[media] videobuf-dma-contig: add cache support
[linux-3.10.git] / include / media / videobuf-dma-contig.h
1 /*
2  * helper functions for physically contiguous capture buffers
3  *
4  * The functions support hardware lacking scatter gather support
5  * (i.e. the buffers must be linear in physical memory)
6  *
7  * Copyright (c) 2008 Magnus Damm
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; either version 2
12  */
13 #ifndef _VIDEOBUF_DMA_CONTIG_H
14 #define _VIDEOBUF_DMA_CONTIG_H
15
16 #include <linux/dma-mapping.h>
17 #include <media/videobuf-core.h>
18
19 void videobuf_queue_dma_contig_init(struct videobuf_queue *q,
20                                     const struct videobuf_queue_ops *ops,
21                                     struct device *dev,
22                                     spinlock_t *irqlock,
23                                     enum v4l2_buf_type type,
24                                     enum v4l2_field field,
25                                     unsigned int msize,
26                                     void *priv,
27                                     struct mutex *ext_lock);
28
29 void videobuf_queue_dma_contig_init_cached(struct videobuf_queue *q,
30                                            const struct videobuf_queue_ops *ops,
31                                            struct device *dev,
32                                            spinlock_t *irqlock,
33                                            enum v4l2_buf_type type,
34                                            enum v4l2_field field,
35                                            unsigned int msize,
36                                            void *priv,
37                                            struct mutex *ext_lock);
38
39 dma_addr_t videobuf_to_dma_contig(struct videobuf_buffer *buf);
40 void videobuf_dma_contig_free(struct videobuf_queue *q,
41                               struct videobuf_buffer *buf);
42
43 #endif /* _VIDEOBUF_DMA_CONTIG_H */