@@ -15,12 +15,58 @@ struct drm_device;
15
15
16
16
struct sunxi_engine ;
17
17
18
+ /**
19
+ * struct sunxi_engine_ops - helper operations for sunXi engines
20
+ *
21
+ * These hooks are used by the common part of the DRM driver to
22
+ * implement the proper behaviour.
23
+ */
18
24
struct sunxi_engine_ops {
25
+ /**
26
+ * @commit:
27
+ *
28
+ * This callback will trigger the hardware switch to commit
29
+ * the new configuration that has been setup during the next
30
+ * vblank period.
31
+ *
32
+ * This function is optional.
33
+ */
19
34
void (* commit )(struct sunxi_engine * engine );
35
+
36
+ /**
37
+ * @layers_init:
38
+ *
39
+ * This callback is used to allocate, initialize and register
40
+ * the layers supported by that engine.
41
+ *
42
+ * This function is mandatory.
43
+ *
44
+ * RETURNS:
45
+ *
46
+ * The array of struct drm_plane backing the layers, or an
47
+ * error pointer on failure.
48
+ */
20
49
struct drm_plane * * (* layers_init )(struct drm_device * drm ,
21
50
struct sunxi_engine * engine );
22
51
52
+ /**
53
+ * @apply_color_correction:
54
+ *
55
+ * This callback will enable the color correction in the
56
+ * engine. This is useful only for the composite output.
57
+ *
58
+ * This function is optional.
59
+ */
23
60
void (* apply_color_correction )(struct sunxi_engine * engine );
61
+
62
+ /**
63
+ * @disable_color_correction:
64
+ *
65
+ * This callback will stop the color correction in the
66
+ * engine. This is useful only for the composite output.
67
+ *
68
+ * This function is optional.
69
+ */
24
70
void (* disable_color_correction )(struct sunxi_engine * engine );
25
71
};
26
72
0 commit comments