linux/include/media/videobuf2-memops.h
<<
>>
Prefs
   1/*
   2 * videobuf2-memops.h - generic memory handling routines for videobuf2
   3 *
   4 * Copyright (C) 2010 Samsung Electronics
   5 *
   6 * Author: Pawel Osciak <pawel@osciak.com>
   7 *         Marek Szyprowski <m.szyprowski@samsung.com>
   8 *
   9 * This program is free software; you can redistribute it and/or modify
  10 * it under the terms of the GNU General Public License as published by
  11 * the Free Software Foundation.
  12 */
  13
  14#ifndef _MEDIA_VIDEOBUF2_MEMOPS_H
  15#define _MEDIA_VIDEOBUF2_MEMOPS_H
  16
  17#include <media/videobuf2-core.h>
  18
  19/**
  20 * vb2_vmarea_handler - common vma refcount tracking handler
  21 * @refcount:   pointer to refcount entry in the buffer
  22 * @put:        callback to function that decreases buffer refcount
  23 * @arg:        argument for @put callback
  24 */
  25struct vb2_vmarea_handler {
  26        atomic_t                *refcount;
  27        void                    (*put)(void *arg);
  28        void                    *arg;
  29};
  30
  31extern const struct vm_operations_struct vb2_common_vm_ops;
  32
  33int vb2_get_contig_userptr(unsigned long vaddr, unsigned long size,
  34                           struct vm_area_struct **res_vma, dma_addr_t *res_pa);
  35
  36struct vm_area_struct *vb2_get_vma(struct vm_area_struct *vma);
  37void vb2_put_vma(struct vm_area_struct *vma);
  38
  39
  40#endif
  41