Lines Matching +full:kunit +full:- +full:base
1 /* SPDX-License-Identifier: GPL-2.0 */
7 #include <kunit/test.h>
10 #include <linux/dma-fence.h>
31 * struct drm_mock_scheduler - implements a trivial mock GPU execution engine
33 * @base: DRM scheduler base class
34 * @test: Backpointer to owning the kunit test case
46 struct drm_gpu_scheduler base; member
48 struct kunit *test;
61 * struct drm_mock_sched_entity - implements a mock GPU sched entity
63 * @base: DRM scheduler entity base class
64 * @test: Backpointer to owning the kunit test case
70 struct drm_sched_entity base; member
72 struct kunit *test;
76 * struct drm_mock_sched_job - implements a mock GPU job
78 * @base: DRM sched job base class
88 * @test: Backpointer to owning the kunit test case
94 struct drm_sched_job base; member
111 struct kunit *test;
117 return container_of(sched, struct drm_mock_scheduler, base); in drm_sched_to_mock_sched()
123 return container_of(sched_entity, struct drm_mock_sched_entity, base); in drm_sched_entity_to_mock_entity()
129 return container_of(sched_job, struct drm_mock_sched_job, base); in drm_sched_job_to_mock_job()
132 struct drm_mock_scheduler *drm_mock_sched_new(struct kunit *test,
139 drm_mock_sched_entity_new(struct kunit *test,
145 drm_mock_sched_job_new(struct kunit *test,
149 * drm_mock_sched_job_submit - Arm and submit a job in one go
155 drm_sched_job_arm(&job->base); in drm_mock_sched_job_submit()
156 drm_sched_entity_push_job(&job->base); in drm_mock_sched_job_submit()
160 * drm_mock_sched_job_set_duration_us - Set a job duration
174 job->duration_us = duration_us; in drm_mock_sched_job_set_duration_us()
178 * drm_mock_sched_job_is_finished - Check if a job is finished
187 return job->flags & DRM_MOCK_SCHED_JOB_DONE; in drm_mock_sched_job_is_finished()
191 * drm_mock_sched_job_wait_finished - Wait until a job is finished
201 if (job->flags & DRM_MOCK_SCHED_JOB_DONE) in drm_mock_sched_job_wait_finished()
204 return wait_for_completion_timeout(&job->done, timeout) != 0; in drm_mock_sched_job_wait_finished()
208 * drm_mock_sched_job_wait_scheduled - Wait until a job is scheduled
218 KUNIT_ASSERT_EQ(job->test, job->flags & DRM_MOCK_SCHED_JOB_DONE, 0); in drm_mock_sched_job_wait_scheduled()
220 return dma_fence_wait_timeout(&job->base.s_fence->scheduled, in drm_mock_sched_job_wait_scheduled()