PageRenderTime 68ms CodeModel.GetById 32ms RepoModel.GetById 0ms app.codeStats 0ms

/include/media/videobuf-vmalloc.h

https://github.com/azmat21/cm-kernel
C Header | 45 lines | 20 code | 9 blank | 16 comment | 0 complexity | 4384126fce051174b8d0992b90f764a7 MD5 | raw file
Possible License(s): GPL-2.0
  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. #include <media/videobuf-core.h>
  18. /* --------------------------------------------------------------------- */
  19. struct videobuf_vmalloc_memory
  20. {
  21. u32 magic;
  22. void *vmalloc;
  23. /* remap_vmalloc_range seems to need to run after mmap() on some cases */
  24. struct vm_area_struct *vma;
  25. };
  26. void videobuf_queue_vmalloc_init(struct videobuf_queue* q,
  27. struct videobuf_queue_ops *ops,
  28. void *dev,
  29. spinlock_t *irqlock,
  30. enum v4l2_buf_type type,
  31. enum v4l2_field field,
  32. unsigned int msize,
  33. void *priv);
  34. void *videobuf_to_vmalloc (struct videobuf_buffer *buf);
  35. void videobuf_vmalloc_free (struct videobuf_buffer *buf);
  36. #endif