]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/atomic: Document __drm_private_objs_state state pointer
authorMaxime Ripard <mripard@kernel.org>
Tue, 30 Sep 2025 10:59:54 +0000 (12:59 +0200)
committerMaxime Ripard <mripard@kernel.org>
Mon, 6 Oct 2025 11:59:24 +0000 (13:59 +0200)
While the old and new state pointers are somewhat self-explanatory, the
state pointer and its relation to the other two really isn't.

Now that we've cleaned up everything and it isn't used in any
modesetting path, we can document what it's still useful for: to free
the right state when we free the global state.

Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://lore.kernel.org/r/20250930-drm-no-more-existing-state-v5-39-eeb9e1287907@kernel.org
Signed-off-by: Maxime Ripard <mripard@kernel.org>
include/drm/drm_atomic.h

index 6b634b7474900d0d2bc51bd645ccedf718a1cb02..c8ab2163bf658cd06b12a8dabada7c088a328654 100644 (file)
@@ -391,7 +391,23 @@ struct drm_private_state {
 
 struct __drm_private_objs_state {
        struct drm_private_obj *ptr;
-       struct drm_private_state *state, *old_state, *new_state;
+
+       /**
+        * @state:
+        *
+        * Used to track the @drm_private_state we will need to free
+        * when tearing down the associated &drm_atomic_state in
+        * $drm_mode_config_funcs.atomic_state_clear or
+        * drm_atomic_state_default_clear().
+        *
+        * Before a commit, and the call to
+        * drm_atomic_helper_swap_state() in particular, it points to
+        * the same state than @new_state. After a commit, it points to
+        * the same state than @old_state.
+        */
+       struct drm_private_state *state;
+
+       struct drm_private_state *old_state, *new_state;
 };
 
 /**