Blame view

include/media/videobuf-vmalloc.h 1.29 KB
87b9ad070   Mauro Carvalho Chehab   V4L/DVB (6254): A...
1
2
3
  /*
   * helper functions for vmalloc capture buffers
   *
5d6aaf50e   Magnus Damm   V4L/DVB (8340): v...
4
   * The functions expect the hardware being able to scatter gather
87b9ad070   Mauro Carvalho Chehab   V4L/DVB (6254): A...
5
6
7
8
9
10
11
12
13
14
   * (i.e. the buffers are not linear in physical memory, but fragmented
   * into PAGE_SIZE chunks).  They also assume the driver does not need
   * to touch the video data.
   *
   * (c) 2007 Mauro Carvalho Chehab, <mchehab@infradead.org>
   *
   * This program is free software; you can redistribute it and/or modify
   * it under the terms of the GNU General Public License as published by
   * the Free Software Foundation; either version 2
   */
59d344899   Mauro Carvalho Chehab   V4L/DVB (7566): v...
15
16
  #ifndef _VIDEOBUF_VMALLOC_H
  #define _VIDEOBUF_VMALLOC_H
87b9ad070   Mauro Carvalho Chehab   V4L/DVB (6254): A...
17
18
19
20
  
  #include <media/videobuf-core.h>
  
  /* --------------------------------------------------------------------- */
7a02264ca   Pawel Osciak   V4L/DVB: v4l: vid...
21
  struct videobuf_vmalloc_memory {
87b9ad070   Mauro Carvalho Chehab   V4L/DVB (6254): A...
22
  	u32                 magic;
bb6dbe748   Laurent Pinchart   V4L/DVB: videobuf...
23
  	void                *vaddr;
87b9ad070   Mauro Carvalho Chehab   V4L/DVB (6254): A...
24

7a02264ca   Pawel Osciak   V4L/DVB: v4l: vid...
25
26
  	/* remap_vmalloc_range seems to need to run
  	 * after mmap() on some cases */
87b9ad070   Mauro Carvalho Chehab   V4L/DVB (6254): A...
27
28
  	struct vm_area_struct *vma;
  };
7a02264ca   Pawel Osciak   V4L/DVB: v4l: vid...
29
  void videobuf_queue_vmalloc_init(struct videobuf_queue *q,
38a54f35a   Jonathan Corbet   V4L/DVB (13377): ...
30
  			 const struct videobuf_queue_ops *ops,
f8b0bca1a   Jonathan Corbet   V4L/DVB (13417): ...
31
  			 struct device *dev,
87b9ad070   Mauro Carvalho Chehab   V4L/DVB (6254): A...
32
33
34
35
  			 spinlock_t *irqlock,
  			 enum v4l2_buf_type type,
  			 enum v4l2_field field,
  			 unsigned int msize,
08bff03ed   Hans Verkuil   V4L/DVB: videobuf...
36
37
  			 void *priv,
  			 struct mutex *ext_lock);
87b9ad070   Mauro Carvalho Chehab   V4L/DVB (6254): A...
38

7a02264ca   Pawel Osciak   V4L/DVB: v4l: vid...
39
  void *videobuf_to_vmalloc(struct videobuf_buffer *buf);
87b9ad070   Mauro Carvalho Chehab   V4L/DVB (6254): A...
40

7a02264ca   Pawel Osciak   V4L/DVB: v4l: vid...
41
  void videobuf_vmalloc_free(struct videobuf_buffer *buf);
59d344899   Mauro Carvalho Chehab   V4L/DVB (7566): v...
42
43
  
  #endif