[PATCH 1/7] drm/selftests: Move i915 buddy selftests into drm
Matthew Auld
matthew.auld at intel.com
Tue Feb 8 10:35:09 UTC 2022
On 03/02/2022 13:32, Arunpravin wrote:
> - move i915 buddy selftests into drm selftests folder
> - add Makefile and Kconfig support
> - add sanitycheck testcase
>
> Prerequisites
> - These series of selftests patches are created on top of
> drm buddy series
> - Enable kselftests for DRM as a module in .config
>
> Signed-off-by: Arunpravin <Arunpravin.PaneerSelvam at amd.com>
At some point I guess we also want some IGT that picks this up? Like we
do in tests/drm_mm.c? That way this can get picked up by CI?
Acked-by: Matthew Auld <matthew.auld at intel.com>
> ---
> drivers/gpu/drm/Kconfig | 1 +
> drivers/gpu/drm/selftests/Makefile | 3 +-
> .../gpu/drm/selftests/drm_buddy_selftests.h | 9 ++++
> drivers/gpu/drm/selftests/test-drm_buddy.c | 49 +++++++++++++++++++
> 4 files changed, 61 insertions(+), 1 deletion(-)
> create mode 100644 drivers/gpu/drm/selftests/drm_buddy_selftests.h
> create mode 100644 drivers/gpu/drm/selftests/test-drm_buddy.c
>
> diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
> index eb5a57ae3c5c..ff856df3f97f 100644
> --- a/drivers/gpu/drm/Kconfig
> +++ b/drivers/gpu/drm/Kconfig
> @@ -71,6 +71,7 @@ config DRM_DEBUG_SELFTEST
> select DRM_DP_HELPER
> select DRM_LIB_RANDOM
> select DRM_KMS_HELPER
> + select DRM_BUDDY
> select DRM_EXPORT_FOR_TESTS if m
> default n
> help
> diff --git a/drivers/gpu/drm/selftests/Makefile b/drivers/gpu/drm/selftests/Makefile
> index 0856e4b12f70..5ba5f9138c95 100644
> --- a/drivers/gpu/drm/selftests/Makefile
> +++ b/drivers/gpu/drm/selftests/Makefile
> @@ -4,4 +4,5 @@ test-drm_modeset-y := test-drm_modeset_common.o test-drm_plane_helper.o \
> test-drm_damage_helper.o test-drm_dp_mst_helper.o \
> test-drm_rect.o
>
> -obj-$(CONFIG_DRM_DEBUG_SELFTEST) += test-drm_mm.o test-drm_modeset.o test-drm_cmdline_parser.o
> +obj-$(CONFIG_DRM_DEBUG_SELFTEST) += test-drm_mm.o test-drm_modeset.o test-drm_cmdline_parser.o \
> + test-drm_buddy.o
> diff --git a/drivers/gpu/drm/selftests/drm_buddy_selftests.h b/drivers/gpu/drm/selftests/drm_buddy_selftests.h
> new file mode 100644
> index 000000000000..a4bcf3a6dfe3
> --- /dev/null
> +++ b/drivers/gpu/drm/selftests/drm_buddy_selftests.h
> @@ -0,0 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +/* List each unit test as selftest(name, function)
> + *
> + * The name is used as both an enum and expanded as igt__name to create
> + * a module parameter. It must be unique and legal for a C identifier.
> + *
> + * Tests are executed in order by igt/drm_buddy
> + */
> +selftest(sanitycheck, igt_sanitycheck) /* keep first (selfcheck for igt) */
> diff --git a/drivers/gpu/drm/selftests/test-drm_buddy.c b/drivers/gpu/drm/selftests/test-drm_buddy.c
> new file mode 100644
> index 000000000000..51e4d393d22c
> --- /dev/null
> +++ b/drivers/gpu/drm/selftests/test-drm_buddy.c
> @@ -0,0 +1,49 @@
> +// SPDX-License-Identifier: MIT
> +/*
> + * Copyright © 2019 Intel Corporation
> + */
> +
> +#define pr_fmt(fmt) "drm_buddy: " fmt
> +
> +#include <linux/module.h>
> +
> +#include <drm/drm_buddy.h>
> +
> +#include "../lib/drm_random.h"
> +
> +#define TESTS "drm_buddy_selftests.h"
> +#include "drm_selftest.h"
> +
> +static unsigned int random_seed;
> +
> +static int igt_sanitycheck(void *ignored)
> +{
> + pr_info("%s - ok!\n", __func__);
> + return 0;
> +}
> +
> +#include "drm_selftest.c"
> +
> +static int __init test_drm_buddy_init(void)
> +{
> + int err;
> +
> + while (!random_seed)
> + random_seed = get_random_int();
> +
> + pr_info("Testing DRM buddy manager (struct drm_buddy), with random_seed=0x%x\n",
> + random_seed);
> + err = run_selftests(selftests, ARRAY_SIZE(selftests), NULL);
> +
> + return err > 0 ? 0 : err;
> +}
> +
> +static void __exit test_drm_buddy_exit(void)
> +{
> +}
> +
> +module_init(test_drm_buddy_init);
> +module_exit(test_drm_buddy_exit);
> +
> +MODULE_AUTHOR("Intel Corporation");
> +MODULE_LICENSE("GPL");
More information about the amd-gfx
mailing list