videobuf2-dma-contig.h 1009 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /*
  2. * videobuf2-dma-contig.h - DMA contig memory allocator for videobuf2
  3. *
  4. * Copyright (C) 2010 Samsung Electronics
  5. *
  6. * Author: Pawel Osciak <pawel@osciak.com>
  7. *
  8. * This program is free software; you can redistribute it and/or modify
  9. * it under the terms of the GNU General Public License as published by
  10. * the Free Software Foundation.
  11. */
  12. #ifndef _MEDIA_VIDEOBUF2_DMA_CONTIG_H
  13. #define _MEDIA_VIDEOBUF2_DMA_CONTIG_H
  14. #include <media/videobuf2-v4l2.h>
  15. #include <linux/dma-mapping.h>
  16. struct dma_attrs;
  17. static inline dma_addr_t
  18. vb2_dma_contig_plane_dma_addr(struct vb2_buffer *vb, unsigned int plane_no)
  19. {
  20. dma_addr_t *addr = vb2_plane_cookie(vb, plane_no);
  21. return *addr;
  22. }
  23. void *vb2_dma_contig_init_ctx_attrs(struct device *dev,
  24. struct dma_attrs *attrs);
  25. static inline void *vb2_dma_contig_init_ctx(struct device *dev)
  26. {
  27. return vb2_dma_contig_init_ctx_attrs(dev, NULL);
  28. }
  29. void vb2_dma_contig_cleanup_ctx(void *alloc_ctx);
  30. extern const struct vb2_mem_ops vb2_dma_contig_memops;
  31. #endif