#ifndef __VPU_DRV_H__
#define __VPU_DRV_H__
#include <media/v4l2-ctrls.h>
#include <media/v4l2-ioctl.h>
#include <media/v4l2-event.h>
#include <media/v4l2-fh.h>
#include <media/videobuf2-v4l2.h>
#include <media/videobuf2-dma-contig.h>
#include <media/videobuf2-vmalloc.h>
#include "wave5-vpuconfig.h"
#include "wave5-vpuapi.h"
#define VPU_BUF_SYNC_TO_DEVICE …
#define VPU_BUF_SYNC_FROM_DEVICE …
struct vpu_src_buffer { … };
struct vpu_dst_buffer { … };
enum vpu_fmt_type { … };
struct vpu_format { … };
static inline struct vpu_instance *wave5_to_vpu_inst(struct v4l2_fh *vfh)
{ … }
static inline struct vpu_instance *wave5_ctrl_to_vpu_inst(struct v4l2_ctrl *vctrl)
{ … }
static inline struct vpu_src_buffer *wave5_to_vpu_src_buf(struct vb2_v4l2_buffer *vbuf)
{ … }
static inline struct vpu_dst_buffer *wave5_to_vpu_dst_buf(struct vb2_v4l2_buffer *vbuf)
{ … }
int wave5_vpu_wait_interrupt(struct vpu_instance *inst, unsigned int timeout);
int wave5_vpu_dec_register_device(struct vpu_device *dev);
void wave5_vpu_dec_unregister_device(struct vpu_device *dev);
int wave5_vpu_enc_register_device(struct vpu_device *dev);
void wave5_vpu_enc_unregister_device(struct vpu_device *dev);
static inline bool wave5_vpu_both_queues_are_streaming(struct vpu_instance *inst)
{ … }
#endif