Add a small description and document struct fields of
drm_mode_get_plane.

Signed-off-by: Leandro Ribeiro <[email protected]>
---
 include/uapi/drm/drm_mode.h | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h
index a5e76aa06ad5..67bcd8e1931c 100644
--- a/include/uapi/drm/drm_mode.h
+++ b/include/uapi/drm/drm_mode.h
@@ -312,16 +312,52 @@ struct drm_mode_set_plane {
        __u32 src_w;
 };

+/**
+ * struct drm_mode_get_plane - Get plane metadata.
+ *
+ * Userspace can perform a GETPLANE ioctl to retrieve information about a
+ * plane.
+ *
+ * To retrieve the number of formats supported, set @count_format_types to zero
+ * and call the ioctl. @count_format_types will be updated with the value.
+ *
+ * To retrieve these formats, allocate an array with the memory needed to store
+ * @count_format_types formats. Point @format_type_ptr to this array and call
+ * the ioctl again (with @count_format_types still set to the value returned in
+ * the first ioctl call).
+ *
+ * Between one ioctl and the other, the number of formats may change.
+ * Userspace should retry the last ioctl until this number stabilizes. The
+ * kernel won't fill any array which doesn't have the expected length.
+ */
 struct drm_mode_get_plane {
+       /**
+        * @plane_id: Object ID of the plane whose information should be
+        * retrieved. Set by caller.
+        */
        __u32 plane_id;

+       /** @crtc_id: Object ID of the current CRTC. */
        __u32 crtc_id;
+       /** @fb_id: Object ID of the current fb. */
        __u32 fb_id;

+       /**
+        * @possible_crtcs: Bitmask of CRTC's compatible with the plane. CRTC's
+        * are created and they receive an index, which corresponds to their
+        * position in the bitmask. Bit N corresponds to
+        * :ref:`CRTC index<crtc_index>` N.
+        */
        __u32 possible_crtcs;
+       /** @gamma_size: Number of entries of the legacy gamma lookup table. */
        __u32 gamma_size;

+       /** @count_format_types: Number of formats. */
        __u32 count_format_types;
+       /**
+        * @format_type_ptr: Pointer to ``__u32`` array of formats that are
+        * supported by the plane. These formats do not require modifiers.
+        */
        __u64 format_type_ptr;
 };

--
2.31.1

Reply via email to