File Index
Files and directories
Sign in
FILE

xe_wa_test.c

File preview with syntax highlighting.

linux-6.19.14/drivers/gpu/drm/xe/tests/xe_wa_test.c C
 1// SPDX-License-Identifier: GPL-2.0
 2/*
 3 * Copyright © 2023 Intel Corporation
 4 */
 5
 6#include <drm/drm_drv.h>
 7#include <drm/drm_kunit_helpers.h>
 8
 9#include <kunit/test.h>
10
11#include "xe_device.h"
12#include "xe_kunit_helpers.h"
13#include "xe_pci_test.h"
14#include "xe_reg_sr.h"
15#include "xe_tuning.h"
16#include "xe_wa.h"
17
18static int xe_wa_test_init(struct kunit *test)
19{
20	const struct xe_pci_fake_data *param = test->param_value;
21	struct xe_pci_fake_data data = *param;
22	struct xe_device *xe;
23	struct device *dev;
24	int ret;
25
26	dev = drm_kunit_helper_alloc_device(test);
27	KUNIT_ASSERT_NOT_ERR_OR_NULL(test, dev);
28
29	xe = xe_kunit_helper_alloc_xe_device(test, dev);
30	KUNIT_ASSERT_NOT_ERR_OR_NULL(test, xe);
31
32	test->priv = &data;
33	ret = xe_pci_fake_device_init(xe);
34	KUNIT_ASSERT_EQ(test, ret, 0);
35
36	if (!param->graphics_verx100)
37		xe->info.step = param->step;
38
39	/* TODO: init hw engines for engine/LRC WAs */
40	xe->drm.dev = dev;
41	test->priv = xe;
42
43	return 0;
44}
45
46static void xe_wa_gt(struct kunit *test)
47{
48	struct xe_device *xe = test->priv;
49	struct xe_gt *gt;
50	int id;
51
52	for_each_gt(gt, xe, id) {
53		xe_reg_sr_init(&gt->reg_sr, "GT", xe);
54
55		xe_wa_process_gt(gt);
56		xe_tuning_process_gt(gt);
57
58		KUNIT_ASSERT_EQ(test, gt->reg_sr.errors, 0);
59	}
60}
61
62static struct kunit_case xe_wa_tests[] = {
63	KUNIT_CASE_PARAM(xe_wa_gt, xe_pci_fake_data_gen_params),
64	{}
65};
66
67static struct kunit_suite xe_rtp_test_suite = {
68	.name = "xe_wa",
69	.init = xe_wa_test_init,
70	.test_cases = xe_wa_tests,
71};
72
73kunit_test_suite(xe_rtp_test_suite);
~/ Read-only file preview.