1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-only */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * helper functions for physically contiguous capture buffers 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * The functions support hardware lacking scatter gather support 6*4882a593Smuzhiyun * (i.e. the buffers must be linear in physical memory) 7*4882a593Smuzhiyun * 8*4882a593Smuzhiyun * Copyright (c) 2008 Magnus Damm 9*4882a593Smuzhiyun */ 10*4882a593Smuzhiyun #ifndef _VIDEOBUF_DMA_CONTIG_H 11*4882a593Smuzhiyun #define _VIDEOBUF_DMA_CONTIG_H 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun #include <linux/dma-mapping.h> 14*4882a593Smuzhiyun #include <media/videobuf-core.h> 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun void videobuf_queue_dma_contig_init(struct videobuf_queue *q, 17*4882a593Smuzhiyun const struct videobuf_queue_ops *ops, 18*4882a593Smuzhiyun struct device *dev, 19*4882a593Smuzhiyun spinlock_t *irqlock, 20*4882a593Smuzhiyun enum v4l2_buf_type type, 21*4882a593Smuzhiyun enum v4l2_field field, 22*4882a593Smuzhiyun unsigned int msize, 23*4882a593Smuzhiyun void *priv, 24*4882a593Smuzhiyun struct mutex *ext_lock); 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun dma_addr_t videobuf_to_dma_contig(struct videobuf_buffer *buf); 27*4882a593Smuzhiyun void videobuf_dma_contig_free(struct videobuf_queue *q, 28*4882a593Smuzhiyun struct videobuf_buffer *buf); 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun #endif /* _VIDEOBUF_DMA_CONTIG_H */ 31