Blame view

kernel/linux-imx6_3.14.28/include/media/videobuf-vmalloc.h 1.29 KB
6b13f685e   김민수   BSP 최초 추가
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
  /*
   * helper functions for vmalloc capture buffers
   *
   * The functions expect the hardware being able to scatter gather
   * (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
   */
  #ifndef _VIDEOBUF_VMALLOC_H
  #define _VIDEOBUF_VMALLOC_H
  
  #include <media/videobuf-core.h>
  
  /* --------------------------------------------------------------------- */
  
  struct videobuf_vmalloc_memory {
  	u32                 magic;
  
  	void                *vaddr;
  
  	/* remap_vmalloc_range seems to need to run
  	 * after mmap() on some cases */
  	struct vm_area_struct *vma;
  };
  
  void videobuf_queue_vmalloc_init(struct videobuf_queue *q,
  			 const struct videobuf_queue_ops *ops,
  			 struct device *dev,
  			 spinlock_t *irqlock,
  			 enum v4l2_buf_type type,
  			 enum v4l2_field field,
  			 unsigned int msize,
  			 void *priv,
  			 struct mutex *ext_lock);
  
  void *videobuf_to_vmalloc(struct videobuf_buffer *buf);
  
  void videobuf_vmalloc_free(struct videobuf_buffer *buf);
  
  #endif