drm: Add some kselftests for the DRM range manager (struct drm_mm)
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 22 Dec 2016 08:36:09 +0000 (08:36 +0000)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 27 Dec 2016 11:34:39 +0000 (12:34 +0100)
commit50f0033d1a0f3a8e9eed09ab68067fbb57b0669d
treee0fd92904fed03f9a211662b73232a644daa7022
parenta33d42dd03352d2e9d3d2c00bfa435c7a5ebab25
drm: Add some kselftests for the DRM range manager (struct drm_mm)

First we introduce a smattering of infrastructure for writing selftests.
The idea is that we have a test module that exercises a particular
portion of the exported API, and that module provides a set of tests
that can either be run as an ensemble via kselftest or individually via
an igt harness (in this case igt/drm_mm). To accommodate selecting
individual tests, we export a boolean parameter to control selection of
each test - that is hidden inside a bunch of reusable boilerplate macros
to keep writing the tests simple.

v2: Choose a random random_seed unless one is specified by the user.
v3: More parameters to control max_iterations and max_prime of the
tests.

Testcase: igt/drm_mm
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Acked-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/20161222083641.2691-7-chris@chris-wilson.co.uk
drivers/gpu/drm/Kconfig
drivers/gpu/drm/Makefile
drivers/gpu/drm/selftests/drm_mm_selftests.h [new file with mode: 0644]
drivers/gpu/drm/selftests/drm_selftest.c [new file with mode: 0644]
drivers/gpu/drm/selftests/drm_selftest.h [new file with mode: 0644]
drivers/gpu/drm/selftests/test-drm_mm.c [new file with mode: 0644]
tools/testing/selftests/drivers/gpu/drm_mm.sh [new file with mode: 0755]