Home
last modified time | relevance | path

Searched refs:invs (Results 1 – 3 of 3) sorted by relevance

/linux/drivers/iommu/arm/arm-smmu-v3/
H A Darm-smmu-v3.c1033 arm_smmu_invs_iter_next(struct arm_smmu_invs *invs, size_t next, size_t *idx) in arm_smmu_invs_iter_next() argument
1036 if (next >= invs->num_invs) { in arm_smmu_invs_iter_next()
1040 if (!READ_ONCE(invs->inv[next].users)) { in arm_smmu_invs_iter_next()
1045 return &invs->inv[next]; in arm_smmu_invs_iter_next()
1055 #define arm_smmu_invs_for_each_entry(invs, idx, cur) \ argument
1056 for (cur = arm_smmu_invs_iter_next(invs, 0, &(idx)); cur; \
1057 cur = arm_smmu_invs_iter_next(invs, idx + 1, &(idx)))
1137 struct arm_smmu_invs *arm_smmu_invs_merge(struct arm_smmu_invs *invs, in arm_smmu_invs_merge() argument
1146 arm_smmu_invs_for_each_cmp(invs, i, to_merge, j, cmp) in arm_smmu_invs_merge()
1154 arm_smmu_invs_for_each_cmp(invs, i, to_merge, j, cmp) { in arm_smmu_invs_merge()
[all …]
H A Darm-smmu-v3-test.c641 struct arm_smmu_invs *invs, in arm_smmu_v3_invs_test_verify() argument
646 KUNIT_EXPECT_EQ(test, invs->num_invs, num_invs); in arm_smmu_v3_invs_test_verify()
647 KUNIT_EXPECT_EQ(test, invs->num_trashes, num_trashes); in arm_smmu_v3_invs_test_verify()
649 KUNIT_EXPECT_EQ(test, invs->inv[num_invs].id, ids[num_invs]); in arm_smmu_v3_invs_test_verify()
650 KUNIT_EXPECT_EQ(test, READ_ONCE(invs->inv[num_invs].users), in arm_smmu_v3_invs_test_verify()
652 KUNIT_EXPECT_EQ(test, invs->inv[num_invs].ssid, ssids[num_invs]); in arm_smmu_v3_invs_test_verify()
H A Darm-smmu-v3.h971 struct arm_smmu_invs __rcu *invs; member
1026 struct arm_smmu_invs *arm_smmu_invs_merge(struct arm_smmu_invs *invs,
1028 void arm_smmu_invs_unref(struct arm_smmu_invs *invs,
1030 struct arm_smmu_invs *arm_smmu_invs_purge(struct arm_smmu_invs *invs);
1065 kfree(rcu_dereference_protected(smmu_domain->invs, true)); in arm_smmu_domain_free()