Lines Matching +full:arm +full:- +full:smmu
1 // SPDX-License-Identifier: GPL-2.0
6 #include <linux/io-pgtable.h>
8 #include "arm-smmu-v3.h"
26 static struct arm_smmu_device smmu = { variable
61 test_writer->test, sizeof(*entry_used_bits) * NUM_ENTRY_QWORDS, in arm_smmu_test_writer_record_syncs()
63 KUNIT_ASSERT_NOT_NULL(test_writer->test, entry_used_bits); in arm_smmu_test_writer_record_syncs()
67 test_writer->entry, in arm_smmu_test_writer_record_syncs()
68 NUM_ENTRY_QWORDS * sizeof(*test_writer->entry), in arm_smmu_test_writer_record_syncs()
71 test_writer->num_syncs += 1; in arm_smmu_test_writer_record_syncs()
72 if (!test_writer->entry[0]) { in arm_smmu_test_writer_record_syncs()
73 test_writer->invalid_entry_written = true; in arm_smmu_test_writer_record_syncs()
81 writer->ops->get_used(test_writer->entry, entry_used_bits); in arm_smmu_test_writer_record_syncs()
83 test_writer->test, in arm_smmu_test_writer_record_syncs()
85 test_writer->entry, entry_used_bits, in arm_smmu_test_writer_record_syncs()
86 test_writer->init_entry, NUM_ENTRY_QWORDS) && in arm_smmu_test_writer_record_syncs()
88 test_writer->entry, entry_used_bits, in arm_smmu_test_writer_record_syncs()
89 test_writer->target_entry, in arm_smmu_test_writer_record_syncs()
127 .init_entry = cur->data, in arm_smmu_v3_test_ste_expect_transition()
128 .target_entry = target->data, in arm_smmu_v3_test_ste_expect_transition()
138 arm_smmu_v3_test_debug_print_used_bits(&test_writer.writer, cur->data); in arm_smmu_v3_test_ste_expect_transition()
140 print_hex_dump_debug(" ", DUMP_PREFIX_NONE, 16, 8, target->data, in arm_smmu_v3_test_ste_expect_transition()
143 target->data); in arm_smmu_v3_test_ste_expect_transition()
145 arm_smmu_write_entry(&test_writer.writer, cur_copy.data, target->data); in arm_smmu_v3_test_ste_expect_transition()
149 KUNIT_EXPECT_MEMEQ(test, target->data, cur_copy.data, sizeof(cur_copy)); in arm_smmu_v3_test_ste_expect_transition()
183 .smmu = &smmu, in arm_smmu_test_make_cdtable_ste()
302 .smmu = &smmu, in arm_smmu_test_make_s2_ste()
389 * update to be non-hitless is to change its CD table pointer as well as in arm_smmu_v3_write_ste_test_non_hitless()
411 .init_entry = cur->data, in arm_smmu_v3_test_cd_expect_transition()
412 .target_entry = target->data, in arm_smmu_v3_test_cd_expect_transition()
422 arm_smmu_v3_test_debug_print_used_bits(&test_writer.writer, cur->data); in arm_smmu_v3_test_cd_expect_transition()
424 print_hex_dump_debug(" ", DUMP_PREFIX_NONE, 16, 8, target->data, in arm_smmu_v3_test_cd_expect_transition()
427 target->data); in arm_smmu_v3_test_cd_expect_transition()
429 arm_smmu_write_entry(&test_writer.writer, cur_copy.data, target->data); in arm_smmu_v3_test_cd_expect_transition()
433 KUNIT_EXPECT_MEMEQ(test, target->data, cur_copy.data, sizeof(cur_copy)); in arm_smmu_v3_test_cd_expect_transition()
455 .smmu = &smmu, in arm_smmu_test_make_s1_cd()
505 .smmu = &smmu, in arm_smmu_test_make_sva_cd()
515 .smmu = &smmu, in arm_smmu_test_make_sva_release_cd()
598 arm_smmu_make_bypass_ste(&smmu, &bypass_ste); in arm_smmu_v3_test_suite_init()
604 .name = "arm-smmu-v3-kunit-test",
611 MODULE_DESCRIPTION("KUnit tests for arm-smmu-v3 driver");