1
2
3
4
5
6
7
8 #ifndef __SUN6I_VIDEO_H__
9 #define __SUN6I_VIDEO_H__
10
11 #include <media/v4l2-dev.h>
12 #include <media/videobuf2-core.h>
13
14 struct sun6i_csi;
15
16 struct sun6i_video {
17 struct video_device vdev;
18 struct media_pad pad;
19 struct sun6i_csi *csi;
20
21 struct mutex lock;
22
23 struct vb2_queue vb2_vidq;
24 spinlock_t dma_queue_lock;
25 struct list_head dma_queue;
26
27 unsigned int sequence;
28 struct v4l2_format fmt;
29 u32 mbus_code;
30 };
31
32 int sun6i_video_init(struct sun6i_video *video, struct sun6i_csi *csi,
33 const char *name);
34 void sun6i_video_cleanup(struct sun6i_video *video);
35
36 void sun6i_video_frame_done(struct sun6i_video *video);
37
38 #endif