On 27/04/2026 09.02, Maxime Ripard wrote:
The KMS framework uses two slightly different definitions for the state
concept. For a given object (plane, CRTC, encoder, etc., so
drm_$OBJECT_state), the state is the entire state of that object.
However, at the device level, drm_atomic_state refers to a state update
for a limited number of objects.
Thus, drm_atomic_state isn't the entire device state, but only the full
state of some objects in that device. This has been an endless source of
confusion and thus bugs.
We can rename the drm_atomic_state structure to drm_atomic_commit to
make it less confusing.
This patch was created using:
rg -l drm_atomic_state | \
xargs sed -i 's/drm_atomic_state/drm_atomic_commit/g;
s/drm_atomic_commit_helper/drm_atomic_state_helper/g'
mv drivers/gpu/drm/tests/drm_atomic_state_test.c
drivers/gpu/drm/tests/drm_atomic_commit_test.c
Acked-by: Simona Vetter <[email protected]>
Acked-by: Thomas Zimmermann <[email protected]>
Acked-by: Jani Nikula <[email protected]>
Reviewed-by: Luca Ceresoli <[email protected]>
Tested-by: Luca Ceresoli <[email protected]>
Signed-off-by: Maxime Ripard <[email protected]>
---
...
diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
index 41c57063f3b4..4ffa057e2784 100644
--- a/drivers/gpu/drm/drm_atomic.c
+++ b/drivers/gpu/drm/drm_atomic.c
...
@@ -1764,16 +1764,16 @@ EXPORT_SYMBOL(drm_atomic_check_only);
* Note that this function can return -EDEADLK if the driver needed to acquire
* more locks but encountered a deadlock. The caller must then do the usual
w/w
* backoff dance and restart. All other errors are fatal.
*
* This function will take its own reference on @state.
- * Callers should always release their reference with drm_atomic_state_put().
+ * Callers should always release their reference with drm_atomic_commit_put().
*
* Returns:
* 0 on success, negative error code on failure.
*/
-int drm_atomic_commit(struct drm_atomic_state *state)
+int drm_atomic_commit(struct drm_atomic_commit *state)
This causes now warnings when running "make htmldocs" :
.../Documentation/gpu/drm-kms:308: .../drivers/gpu/drm/drm_atomic.c:1841:
WARNING: Duplicate C declaration, also defined at gpu/drm-kms:408.
Declaration is '.. c:function:: int drm_atomic_commit (struct
drm_atomic_commit *state)'. [duplicate_declaration.c]
Should the function maybe be renamed now?
Thomas