summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/tests/drm_exec_test.c
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2023-07-31 15:36:25 +0300
committerBoris Brezillon <boris.brezillon@collabora.com>2023-08-10 09:38:57 +0300
commit991eb531f482a4ebf2265028add882f149ef1bdc (patch)
tree1f8ec0673629326af5846b826d355938921a245d /drivers/gpu/drm/tests/drm_exec_test.c
parent616bceae250d0bab7ab2cbcb0791d820434ffb71 (diff)
downloadlinux-991eb531f482a4ebf2265028add882f149ef1bdc.tar.xz
drm/exec: add test case for using a drm_exec multiple times
Not really a common use case, but let's make sure that we don't accidentially break that somehow. CC: Boris Brezillon <boris.brezillon@collabora.com> Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com> Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230731123625.3766-2-christian.koenig@amd.com
Diffstat (limited to 'drivers/gpu/drm/tests/drm_exec_test.c')
-rw-r--r--drivers/gpu/drm/tests/drm_exec_test.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/drivers/gpu/drm/tests/drm_exec_test.c b/drivers/gpu/drm/tests/drm_exec_test.c
index f79c9f0359aa..3610773c22cb 100644
--- a/drivers/gpu/drm/tests/drm_exec_test.c
+++ b/drivers/gpu/drm/tests/drm_exec_test.c
@@ -167,6 +167,26 @@ static void test_prepare_array(struct kunit *test)
drm_exec_fini(&exec);
}
+static void test_multiple_loops(struct kunit *test)
+{
+ struct drm_exec exec;
+
+ drm_exec_init(&exec, DRM_EXEC_INTERRUPTIBLE_WAIT);
+ drm_exec_until_all_locked(&exec)
+ {
+ break;
+ }
+ drm_exec_fini(&exec);
+
+ drm_exec_init(&exec, DRM_EXEC_INTERRUPTIBLE_WAIT);
+ drm_exec_until_all_locked(&exec)
+ {
+ break;
+ }
+ drm_exec_fini(&exec);
+ KUNIT_SUCCEED(test);
+}
+
static struct kunit_case drm_exec_tests[] = {
KUNIT_CASE(sanitycheck),
KUNIT_CASE(test_lock),
@@ -174,6 +194,7 @@ static struct kunit_case drm_exec_tests[] = {
KUNIT_CASE(test_duplicates),
KUNIT_CASE(test_prepare),
KUNIT_CASE(test_prepare_array),
+ KUNIT_CASE(test_multiple_loops),
{}
};