cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

videobuf-vmalloc.h (1166B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 * helper functions for vmalloc capture buffers
      4 *
      5 * The functions expect the hardware being able to scatter gather
      6 * (i.e. the buffers are not linear in physical memory, but fragmented
      7 * into PAGE_SIZE chunks).  They also assume the driver does not need
      8 * to touch the video data.
      9 *
     10 * (c) 2007 Mauro Carvalho Chehab, <mchehab@kernel.org>
     11 */
     12#ifndef _VIDEOBUF_VMALLOC_H
     13#define _VIDEOBUF_VMALLOC_H
     14
     15#include <media/videobuf-core.h>
     16
     17/* --------------------------------------------------------------------- */
     18
     19struct videobuf_vmalloc_memory {
     20	u32                 magic;
     21
     22	void                *vaddr;
     23
     24	/* remap_vmalloc_range seems to need to run
     25	 * after mmap() on some cases */
     26	struct vm_area_struct *vma;
     27};
     28
     29void videobuf_queue_vmalloc_init(struct videobuf_queue *q,
     30			 const struct videobuf_queue_ops *ops,
     31			 struct device *dev,
     32			 spinlock_t *irqlock,
     33			 enum v4l2_buf_type type,
     34			 enum v4l2_field field,
     35			 unsigned int msize,
     36			 void *priv,
     37			 struct mutex *ext_lock);
     38
     39void *videobuf_to_vmalloc(struct videobuf_buffer *buf);
     40
     41void videobuf_vmalloc_free(struct videobuf_buffer *buf);
     42
     43#endif