Lines Matching +full:a +full:- +full:b
1 // SPDX-License-Identifier: GPL-2.0
3 * cap_audit.c - audit iommu capabilities for boot time and hot plug
19 static inline void check_irq_capabilities(struct intel_iommu *a, in check_irq_capabilities() argument
20 struct intel_iommu *b) in check_irq_capabilities() argument
22 CHECK_FEATURE_MISMATCH(a, b, cap, pi_support, CAP_PI_MASK); in check_irq_capabilities()
23 CHECK_FEATURE_MISMATCH(a, b, ecap, eim_support, ECAP_EIM_MASK); in check_irq_capabilities()
26 static inline void check_dmar_capabilities(struct intel_iommu *a, in check_dmar_capabilities() argument
27 struct intel_iommu *b) in check_dmar_capabilities() argument
29 MINIMAL_FEATURE_IOMMU(b, cap, CAP_MAMV_MASK); in check_dmar_capabilities()
30 MINIMAL_FEATURE_IOMMU(b, cap, CAP_NFR_MASK); in check_dmar_capabilities()
31 MINIMAL_FEATURE_IOMMU(b, cap, CAP_SLLPS_MASK); in check_dmar_capabilities()
32 MINIMAL_FEATURE_IOMMU(b, cap, CAP_FRO_MASK); in check_dmar_capabilities()
33 MINIMAL_FEATURE_IOMMU(b, cap, CAP_MGAW_MASK); in check_dmar_capabilities()
34 MINIMAL_FEATURE_IOMMU(b, cap, CAP_SAGAW_MASK); in check_dmar_capabilities()
35 MINIMAL_FEATURE_IOMMU(b, cap, CAP_NDOMS_MASK); in check_dmar_capabilities()
36 MINIMAL_FEATURE_IOMMU(b, ecap, ECAP_PSS_MASK); in check_dmar_capabilities()
37 MINIMAL_FEATURE_IOMMU(b, ecap, ECAP_MHMV_MASK); in check_dmar_capabilities()
38 MINIMAL_FEATURE_IOMMU(b, ecap, ECAP_IRO_MASK); in check_dmar_capabilities()
40 CHECK_FEATURE_MISMATCH(a, b, cap, fl5lp_support, CAP_FL5LP_MASK); in check_dmar_capabilities()
41 CHECK_FEATURE_MISMATCH(a, b, cap, fl1gp_support, CAP_FL1GP_MASK); in check_dmar_capabilities()
42 CHECK_FEATURE_MISMATCH(a, b, cap, read_drain, CAP_RD_MASK); in check_dmar_capabilities()
43 CHECK_FEATURE_MISMATCH(a, b, cap, write_drain, CAP_WD_MASK); in check_dmar_capabilities()
44 CHECK_FEATURE_MISMATCH(a, b, cap, pgsel_inv, CAP_PSI_MASK); in check_dmar_capabilities()
45 CHECK_FEATURE_MISMATCH(a, b, cap, zlr, CAP_ZLR_MASK); in check_dmar_capabilities()
46 CHECK_FEATURE_MISMATCH(a, b, cap, caching_mode, CAP_CM_MASK); in check_dmar_capabilities()
47 CHECK_FEATURE_MISMATCH(a, b, cap, phmr, CAP_PHMR_MASK); in check_dmar_capabilities()
48 CHECK_FEATURE_MISMATCH(a, b, cap, plmr, CAP_PLMR_MASK); in check_dmar_capabilities()
49 CHECK_FEATURE_MISMATCH(a, b, cap, rwbf, CAP_RWBF_MASK); in check_dmar_capabilities()
50 CHECK_FEATURE_MISMATCH(a, b, cap, afl, CAP_AFL_MASK); in check_dmar_capabilities()
51 CHECK_FEATURE_MISMATCH(a, b, ecap, rps, ECAP_RPS_MASK); in check_dmar_capabilities()
52 CHECK_FEATURE_MISMATCH(a, b, ecap, smpwc, ECAP_SMPWC_MASK); in check_dmar_capabilities()
53 CHECK_FEATURE_MISMATCH(a, b, ecap, flts, ECAP_FLTS_MASK); in check_dmar_capabilities()
54 CHECK_FEATURE_MISMATCH(a, b, ecap, slts, ECAP_SLTS_MASK); in check_dmar_capabilities()
55 CHECK_FEATURE_MISMATCH(a, b, ecap, nwfs, ECAP_NWFS_MASK); in check_dmar_capabilities()
56 CHECK_FEATURE_MISMATCH(a, b, ecap, slads, ECAP_SLADS_MASK); in check_dmar_capabilities()
57 CHECK_FEATURE_MISMATCH(a, b, ecap, smts, ECAP_SMTS_MASK); in check_dmar_capabilities()
58 CHECK_FEATURE_MISMATCH(a, b, ecap, pds, ECAP_PDS_MASK); in check_dmar_capabilities()
59 CHECK_FEATURE_MISMATCH(a, b, ecap, dit, ECAP_DIT_MASK); in check_dmar_capabilities()
60 CHECK_FEATURE_MISMATCH(a, b, ecap, pasid, ECAP_PASID_MASK); in check_dmar_capabilities()
61 CHECK_FEATURE_MISMATCH(a, b, ecap, eafs, ECAP_EAFS_MASK); in check_dmar_capabilities()
62 CHECK_FEATURE_MISMATCH(a, b, ecap, srs, ECAP_SRS_MASK); in check_dmar_capabilities()
63 CHECK_FEATURE_MISMATCH(a, b, ecap, ers, ECAP_ERS_MASK); in check_dmar_capabilities()
64 CHECK_FEATURE_MISMATCH(a, b, ecap, prs, ECAP_PRS_MASK); in check_dmar_capabilities()
65 CHECK_FEATURE_MISMATCH(a, b, ecap, nest, ECAP_NEST_MASK); in check_dmar_capabilities()
66 CHECK_FEATURE_MISMATCH(a, b, ecap, mts, ECAP_MTS_MASK); in check_dmar_capabilities()
67 CHECK_FEATURE_MISMATCH(a, b, ecap, sc_support, ECAP_SC_MASK); in check_dmar_capabilities()
68 CHECK_FEATURE_MISMATCH(a, b, ecap, pass_through, ECAP_PT_MASK); in check_dmar_capabilities()
69 CHECK_FEATURE_MISMATCH(a, b, ecap, dev_iotlb_support, ECAP_DT_MASK); in check_dmar_capabilities()
70 CHECK_FEATURE_MISMATCH(a, b, ecap, qis, ECAP_QI_MASK); in check_dmar_capabilities()
71 CHECK_FEATURE_MISMATCH(a, b, ecap, coherent, ECAP_C_MASK); in check_dmar_capabilities()
135 return -EFAULT; in cap_audit_hotplug()
153 intel_iommu_ecap_sanity = i->ecap; in cap_audit_static()
154 intel_iommu_cap_sanity = i->cap; in cap_audit_static()
171 rc = -EOPNOTSUPP; in cap_audit_static()
191 return -EFAULT; in intel_cap_audit()