summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/vkms/tests/vkms_config_test.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/vkms/tests/vkms_config_test.c')
-rw-r--r--drivers/gpu/drm/vkms/tests/vkms_config_test.c38
1 files changed, 38 insertions, 0 deletions
diff --git a/drivers/gpu/drm/vkms/tests/vkms_config_test.c b/drivers/gpu/drm/vkms/tests/vkms_config_test.c
index a7060504f3dc..d8644a1e3e18 100644
--- a/drivers/gpu/drm/vkms/tests/vkms_config_test.c
+++ b/drivers/gpu/drm/vkms/tests/vkms_config_test.c
@@ -6,6 +6,12 @@
MODULE_IMPORT_NS("EXPORTED_FOR_KUNIT_TESTING");
+struct default_config_case {
+ bool enable_cursor;
+ bool enable_writeback;
+ bool enable_overlay;
+};
+
static void vkms_config_test_empty_config(struct kunit *test)
{
struct vkms_config *config;
@@ -16,8 +22,40 @@ static void vkms_config_test_empty_config(struct kunit *test)
vkms_config_destroy(config);
}
+static struct default_config_case default_config_cases[] = {
+ { false, false, false },
+ { true, false, false },
+ { true, true, false },
+ { true, false, true },
+ { false, true, false },
+ { false, true, true },
+ { false, false, true },
+ { true, true, true },
+};
+
+KUNIT_ARRAY_PARAM(default_config, default_config_cases, NULL);
+
+static void vkms_config_test_default_config(struct kunit *test)
+{
+ const struct default_config_case *params = test->param_value;
+ struct vkms_config *config;
+
+ config = vkms_config_default_create(params->enable_cursor,
+ params->enable_writeback,
+ params->enable_overlay);
+ KUNIT_ASSERT_NOT_ERR_OR_NULL(test, config);
+
+ KUNIT_EXPECT_EQ(test, config->cursor, params->enable_cursor);
+ KUNIT_EXPECT_EQ(test, config->writeback, params->enable_writeback);
+ KUNIT_EXPECT_EQ(test, config->overlay, params->enable_overlay);
+
+ vkms_config_destroy(config);
+}
+
static struct kunit_case vkms_config_test_cases[] = {
KUNIT_CASE(vkms_config_test_empty_config),
+ KUNIT_CASE_PARAM(vkms_config_test_default_config,
+ default_config_gen_params),
{}
};