xref: /openbmc/linux/include/media/videobuf-dma-contig.h (revision 75bf465f0bc33e9b776a46d6a1b9b990f5fb7c37)
1*77512baaSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */
22cc45cf2SMagnus Damm /*
32cc45cf2SMagnus Damm  * helper functions for physically contiguous capture buffers
42cc45cf2SMagnus Damm  *
52cc45cf2SMagnus Damm  * The functions support hardware lacking scatter gather support
62cc45cf2SMagnus Damm  * (i.e. the buffers must be linear in physical memory)
72cc45cf2SMagnus Damm  *
82cc45cf2SMagnus Damm  * Copyright (c) 2008 Magnus Damm
92cc45cf2SMagnus Damm  */
102cc45cf2SMagnus Damm #ifndef _VIDEOBUF_DMA_CONTIG_H
112cc45cf2SMagnus Damm #define _VIDEOBUF_DMA_CONTIG_H
122cc45cf2SMagnus Damm 
132cc45cf2SMagnus Damm #include <linux/dma-mapping.h>
142cc45cf2SMagnus Damm #include <media/videobuf-core.h>
152cc45cf2SMagnus Damm 
162cc45cf2SMagnus Damm void videobuf_queue_dma_contig_init(struct videobuf_queue *q,
1738a54f35SJonathan Corbet 				    const struct videobuf_queue_ops *ops,
182cc45cf2SMagnus Damm 				    struct device *dev,
192cc45cf2SMagnus Damm 				    spinlock_t *irqlock,
202cc45cf2SMagnus Damm 				    enum v4l2_buf_type type,
212cc45cf2SMagnus Damm 				    enum v4l2_field field,
222cc45cf2SMagnus Damm 				    unsigned int msize,
2308bff03eSHans Verkuil 				    void *priv,
2408bff03eSHans Verkuil 				    struct mutex *ext_lock);
252cc45cf2SMagnus Damm 
262cc45cf2SMagnus Damm dma_addr_t videobuf_to_dma_contig(struct videobuf_buffer *buf);
272cc45cf2SMagnus Damm void videobuf_dma_contig_free(struct videobuf_queue *q,
282cc45cf2SMagnus Damm 			      struct videobuf_buffer *buf);
292cc45cf2SMagnus Damm 
302cc45cf2SMagnus Damm #endif /* _VIDEOBUF_DMA_CONTIG_H */
31