]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commitdiff
drm/sun4i: backend: Document the engine operations
authorMaxime Ripard <maxime.ripard@free-electrons.com>
Mon, 22 Jan 2018 09:25:16 +0000 (10:25 +0100)
committerMaxime Ripard <maxime.ripard@free-electrons.com>
Mon, 22 Jan 2018 14:14:43 +0000 (15:14 +0100)
Our operations were missing some documentation to explain what was expected
from them.

Let's make that clearer.

Reviewed-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Link: https://patchwork.freedesktop.org/patch/msgid/fdcd8ec3ae9ecd73ef089ede5218d3a41b49be05.1516613040.git-series.maxime.ripard@free-electrons.com
drivers/gpu/drm/sun4i/sunxi_engine.h

index 4cb70ae65c79c1577d3e7dd2be3a6d2b6582df07..b374e074c7c304382b526f0541f99977c6585c3c 100644 (file)
@@ -15,12 +15,58 @@ struct drm_device;
 
 struct sunxi_engine;
 
+/**
+ * struct sunxi_engine_ops - helper operations for sunXi engines
+ *
+ * These hooks are used by the common part of the DRM driver to
+ * implement the proper behaviour.
+ */
 struct sunxi_engine_ops {
+       /**
+        * @commit:
+        *
+        * This callback will trigger the hardware switch to commit
+        * the new configuration that has been setup during the next
+        * vblank period.
+        *
+        * This function is optional.
+        */
        void (*commit)(struct sunxi_engine *engine);
+
+       /**
+        * @layers_init:
+        *
+        * This callback is used to allocate, initialize and register
+        * the layers supported by that engine.
+        *
+        * This function is mandatory.
+        *
+        * RETURNS:
+        *
+        * The array of struct drm_plane backing the layers, or an
+        * error pointer on failure.
+        */
        struct drm_plane **(*layers_init)(struct drm_device *drm,
                                          struct sunxi_engine *engine);
 
+       /**
+        * @apply_color_correction:
+        *
+        * This callback will enable the color correction in the
+        * engine. This is useful only for the composite output.
+        *
+        * This function is optional.
+        */
        void (*apply_color_correction)(struct sunxi_engine *engine);
+
+       /**
+        * @disable_color_correction:
+        *
+        * This callback will stop the color correction in the
+        * engine. This is useful only for the composite output.
+        *
+        * This function is optional.
+        */
        void (*disable_color_correction)(struct sunxi_engine *engine);
 };