]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/atomic: Allow userspace to use damage clips with async flips
authorAndré Almeida <andrealmeid@igalia.com>
Tue, 2 Jul 2024 21:22:15 +0000 (18:22 -0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 11 Aug 2024 10:57:54 +0000 (12:57 +0200)
[ Upstream commit f85de245c6a8e2654e1e9158588bcf78e38cd5a5 ]

Allow userspace to use damage clips with atomic async flips. Damage
clips are useful for partial plane updates, which can be helpful for
clients that want to do flips asynchronously.

Fixes: 0e26cc72c71c ("drm: Refuse to async flip with atomic prop changes")
Signed-off-by: André Almeida <andrealmeid@igalia.com>
Reviewed-by: Simon Ser <contact@emersion.fr>
Signed-off-by: Simon Ser <contact@emersion.fr>
Link: https://patchwork.freedesktop.org/patch/msgid/20240702212215.109696-2-andrealmeid@igalia.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/drm_atomic_uapi.c

index fef4849a4ec219e7259c754ded7b37c5e35e77e2..02b1235c6d619b4348263939a8c2ad48388e4e41 100644 (file)
@@ -1068,7 +1068,8 @@ int drm_atomic_set_property(struct drm_atomic_state *state,
 
                if (async_flip &&
                    prop != config->prop_fb_id &&
-                   prop != config->prop_in_fence_fd) {
+                   prop != config->prop_in_fence_fd &&
+                   prop != config->prop_fb_damage_clips) {
                        ret = drm_atomic_plane_get_property(plane, plane_state,
                                                            prop, &old_val);
                        ret = drm_atomic_check_prop_changes(ret, old_val, prop_value, prop);