linux/include/media/videobuf-vmalloc.h
<<
>>
Prefs
   1/*
   2 * helper functions for vmalloc capture buffers
   3 *
   4 * The functions expect the hardware being able to scatter gather
   5 * (i.e. the buffers are not linear in physical memory, but fragmented
   6 * into PAGE_SIZE chunks).  They also assume the driver does not need
   7 * to touch the video data.
   8 *
   9 * (c) 2007 Mauro Carvalho Chehab, <mchehab@infradead.org>
  10 *
  11 * This program is free software; you can redistribute it and/or modify
  12 * it under the terms of the GNU General Public License as published by
  13 * the Free Software Foundation; either version 2
  14 */
  15#ifndef _VIDEOBUF_VMALLOC_H
  16#define _VIDEOBUF_VMALLOC_H
  17
  18#include <media/videobuf-core.h>
  19
  20/* --------------------------------------------------------------------- */
  21
  22struct videobuf_vmalloc_memory {
  23        u32                 magic;
  24
  25        void                *vaddr;
  26
  27        /* remap_vmalloc_range seems to need to run
  28         * after mmap() on some cases */
  29        struct vm_area_struct *vma;
  30};
  31
  32void videobuf_queue_vmalloc_init(struct videobuf_queue *q,
  33                         const struct videobuf_queue_ops *ops,
  34                         struct device *dev,
  35                         spinlock_t *irqlock,
  36                         enum v4l2_buf_type type,
  37                         enum v4l2_field field,
  38                         unsigned int msize,
  39                         void *priv,
  40                         struct mutex *ext_lock);
  41
  42void *videobuf_to_vmalloc(struct videobuf_buffer *buf);
  43
  44void videobuf_vmalloc_free(struct videobuf_buffer *buf);
  45
  46#endif
  47
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.