root/include/media/videobuf-vmalloc.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0-only */
   2 /*
   3  * helper functions for vmalloc capture buffers
   4  *
   5  * The functions expect the hardware being able to scatter gather
   6  * (i.e. the buffers are not linear in physical memory, but fragmented
   7  * into PAGE_SIZE chunks).  They also assume the driver does not need
   8  * to touch the video data.
   9  *
  10  * (c) 2007 Mauro Carvalho Chehab, <mchehab@kernel.org>
  11  */
  12 #ifndef _VIDEOBUF_VMALLOC_H
  13 #define _VIDEOBUF_VMALLOC_H
  14 
  15 #include <media/videobuf-core.h>
  16 
  17 /* --------------------------------------------------------------------- */
  18 
  19 struct videobuf_vmalloc_memory {
  20         u32                 magic;
  21 
  22         void                *vaddr;
  23 
  24         /* remap_vmalloc_range seems to need to run
  25          * after mmap() on some cases */
  26         struct vm_area_struct *vma;
  27 };
  28 
  29 void videobuf_queue_vmalloc_init(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 void *videobuf_to_vmalloc(struct videobuf_buffer *buf);
  40 
  41 void videobuf_vmalloc_free(struct videobuf_buffer *buf);
  42 
  43 #endif

/* [<][>][^][v][top][bottom][index][help] */