drm: document drm_property_enum.value for bitfields
authorSimon Ser <contact@emersion.fr>
Wed, 21 Jul 2021 06:51:30 +0000 (06:51 +0000)
committerSimon Ser <contact@emersion.fr>
Mon, 26 Jul 2021 08:08:22 +0000 (10:08 +0200)
When a property has the type DRM_MODE_PROP_BITMASK, the value field
stores a bitshift, not a bitmask, which can be surprising.

Signed-off-by: Simon Ser <contact@emersion.fr>
Cc: Leandro Ribeiro <leandro.ribeiro@collabora.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Acked-by: Pekka Paalanen <pekka.paalanen@collabora.com>
Link: https://patchwork.freedesktop.org/patch/msgid/NUZTPTKKZtAlDhxIXFB1qrUqWBYKapkBxCnb1S1bc3g@cp3-web-033.plabs.ch
include/drm/drm_property.h

index bbf5c1f..65bc971 100644 (file)
@@ -31,7 +31,6 @@
 
 /**
  * struct drm_property_enum - symbolic values for enumerations
- * @value: numeric property value for this enum entry
  * @head: list of enum values, linked to &drm_property.enum_list
  * @name: symbolic name for the enum
  *
  * decoding for each value. This is used for example for the rotation property.
  */
 struct drm_property_enum {
+       /**
+        * @value: numeric property value for this enum entry
+        *
+        * If the property has the type &DRM_MODE_PROP_BITMASK, @value stores a
+        * bitshift, not a bitmask. In other words, the enum entry is enabled
+        * if the bit number @value is set in the property's value. This enum
+        * entry has the bitmask ``1 << value``.
+        */
        uint64_t value;
        struct list_head head;
        char name[DRM_PROP_NAME_LEN];