blob: f473aeb86d3f219d884b982da1cac1d1933c74da [file] [log] [blame]
Magnus Damm2cc45cf2008-07-16 21:33:39 -03001/*
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
19void videobuf_queue_dma_contig_init(struct videobuf_queue *q,
Jonathan Corbet38a54f32009-11-17 19:43:41 -030020 const struct videobuf_queue_ops *ops,
Magnus Damm2cc45cf2008-07-16 21:33:39 -030021 struct device *dev,
22 spinlock_t *irqlock,
23 enum v4l2_buf_type type,
24 enum v4l2_field field,
25 unsigned int msize,
Hans Verkuil08bff032010-09-20 17:39:46 -030026 void *priv,
27 struct mutex *ext_lock);
Magnus Damm2cc45cf2008-07-16 21:33:39 -030028
Federico Vagaa8f3c202012-04-12 12:39:37 -030029void 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
Magnus Damm2cc45cf2008-07-16 21:33:39 -030039dma_addr_t videobuf_to_dma_contig(struct videobuf_buffer *buf);
40void videobuf_dma_contig_free(struct videobuf_queue *q,
41 struct videobuf_buffer *buf);
42
43#endif /* _VIDEOBUF_DMA_CONTIG_H */