This source file includes following definitions.
- to_vsp1_drm_pipeline
1
2
3
4
5
6
7
8
9 #ifndef __VSP1_DRM_H__
10 #define __VSP1_DRM_H__
11
12 #include <linux/mutex.h>
13 #include <linux/videodev2.h>
14 #include <linux/wait.h>
15
16 #include <media/vsp1.h>
17
18 #include "vsp1_pipe.h"
19
20
21
22
23
24
25
26
27
28
29
30
31
32 struct vsp1_drm_pipeline {
33 struct vsp1_pipeline pipe;
34
35 unsigned int width;
36 unsigned int height;
37
38 bool force_brx_release;
39 wait_queue_head_t wait_queue;
40
41 struct vsp1_entity *uif;
42 struct vsp1_du_crc_config crc;
43
44
45 void (*du_complete)(void *data, unsigned int status, u32 crc);
46 void *du_private;
47 };
48
49
50
51
52
53
54
55
56 struct vsp1_drm {
57 struct vsp1_drm_pipeline pipe[VSP1_MAX_LIF];
58 struct mutex lock;
59
60 struct {
61 struct v4l2_rect crop;
62 struct v4l2_rect compose;
63 unsigned int zpos;
64 } inputs[VSP1_MAX_RPF];
65 };
66
67 static inline struct vsp1_drm_pipeline *
68 to_vsp1_drm_pipeline(struct vsp1_pipeline *pipe)
69 {
70 return container_of(pipe, struct vsp1_drm_pipeline, pipe);
71 }
72
73 int vsp1_drm_init(struct vsp1_device *vsp1);
74 void vsp1_drm_cleanup(struct vsp1_device *vsp1);
75
76 #endif