Home
last modified time | relevance | path

Searched refs:intel_iommu (Results 1 – 23 of 23) sorted by relevance

/linux-6.12.1/drivers/iommu/intel/
Dperf.h38 int dmar_latency_enable(struct intel_iommu *iommu, enum latency_type type);
39 void dmar_latency_disable(struct intel_iommu *iommu, enum latency_type type);
40 bool dmar_latency_enabled(struct intel_iommu *iommu, enum latency_type type);
41 void dmar_latency_update(struct intel_iommu *iommu, enum latency_type type,
43 int dmar_latency_snapshot(struct intel_iommu *iommu, char *str, size_t size);
46 dmar_latency_enable(struct intel_iommu *iommu, enum latency_type type) in dmar_latency_enable()
52 dmar_latency_disable(struct intel_iommu *iommu, enum latency_type type) in dmar_latency_disable()
57 dmar_latency_enabled(struct intel_iommu *iommu, enum latency_type type) in dmar_latency_enabled()
63 dmar_latency_update(struct intel_iommu *iommu, enum latency_type type, u64 latency) in dmar_latency_update()
68 dmar_latency_snapshot(struct intel_iommu *iommu, char *str, size_t size) in dmar_latency_snapshot()
Dperfmon.h39 int alloc_iommu_pmu(struct intel_iommu *iommu);
40 void free_iommu_pmu(struct intel_iommu *iommu);
41 void iommu_pmu_register(struct intel_iommu *iommu);
42 void iommu_pmu_unregister(struct intel_iommu *iommu);
45 alloc_iommu_pmu(struct intel_iommu *iommu) in alloc_iommu_pmu()
51 free_iommu_pmu(struct intel_iommu *iommu) in free_iommu_pmu()
56 iommu_pmu_register(struct intel_iommu *iommu) in iommu_pmu_register()
61 iommu_pmu_unregister(struct intel_iommu *iommu) in iommu_pmu_unregister()
Diommu.h522 void (*flush_context)(struct intel_iommu *iommu, u16 did, u16 sid,
524 void (*flush_iotlb)(struct intel_iommu *iommu, u16 did, u64 addr,
580 struct intel_iommu *iommu;
685 struct intel_iommu *iommu;
708 struct intel_iommu { struct
781 struct intel_iommu *iommu; /* IOMMU used by this device */ argument
801 struct intel_iommu *iommu, void *addr, int size) in __iommu_flush_cache()
815 domain_id_iommu(struct dmar_domain *domain, struct intel_iommu *iommu) in domain_id_iommu()
1009 static inline bool context_copied(struct intel_iommu *iommu, u8 bus, u8 devfn) in context_copied()
1018 set_context_copied(struct intel_iommu *iommu, u8 bus, u8 devfn) in set_context_copied()
[all …]
Dirq_remapping.c35 struct intel_iommu *iommu;
42 struct intel_iommu *iommu;
49 struct intel_iommu *iommu;
86 static void iommu_disable_irq_remapping(struct intel_iommu *iommu);
90 static bool ir_pre_enabled(struct intel_iommu *iommu) in ir_pre_enabled()
95 static void clear_ir_pre_enabled(struct intel_iommu *iommu) in clear_ir_pre_enabled()
100 static void init_ir_status(struct intel_iommu *iommu) in init_ir_status()
109 static int alloc_irte(struct intel_iommu *iommu, in alloc_irte()
149 static int qi_flush_iec(struct intel_iommu *iommu, int index, int mask) in qi_flush_iec()
165 struct intel_iommu *iommu; in modify_irte()
[all …]
Dcache.c24 struct intel_iommu *iommu, struct device *dev, in cache_tage_match()
48 struct intel_iommu *iommu = info->iommu; in cache_tag_assign()
90 struct intel_iommu *iommu = info->iommu; in cache_tag_unassign()
167 struct intel_iommu *iommu = info->iommu; in domain_get_id_for_dev()
265 static void qi_batch_flush_descs(struct intel_iommu *iommu, struct qi_batch *batch) in qi_batch_flush_descs()
276 static void qi_batch_increment_index(struct intel_iommu *iommu, struct qi_batch *batch) in qi_batch_increment_index()
282 static void qi_batch_add_iotlb(struct intel_iommu *iommu, u16 did, u64 addr, in qi_batch_add_iotlb()
290 static void qi_batch_add_dev_iotlb(struct intel_iommu *iommu, u16 sid, u16 pfsid, in qi_batch_add_dev_iotlb()
305 static void qi_batch_add_piotlb(struct intel_iommu *iommu, u16 did, u32 pasid, in qi_batch_add_piotlb()
321 static void qi_batch_add_pasid_dev_iotlb(struct intel_iommu *iommu, u16 sid, u16 pfsid, in qi_batch_add_pasid_dev_iotlb()
[all …]
Diommu.c130 struct device *device_rbtree_find(struct intel_iommu *iommu, u16 rid) in device_rbtree_find()
145 static int device_rbtree_insert(struct intel_iommu *iommu, in device_rbtree_insert()
162 struct intel_iommu *iommu = info->iommu; in device_rbtree_remove()
191 struct intel_iommu *iommu; /* the corresponding iommu */
221 static bool translation_pre_enabled(struct intel_iommu *iommu) in translation_pre_enabled()
226 static void clear_translation_pre_enabled(struct intel_iommu *iommu) in clear_translation_pre_enabled()
231 static void init_translation_status(struct intel_iommu *iommu) in init_translation_status()
299 static unsigned long __iommu_calculate_sagaw(struct intel_iommu *iommu) in __iommu_calculate_sagaw()
317 static int __iommu_calculate_agaw(struct intel_iommu *iommu, int max_gaw) in __iommu_calculate_agaw()
334 int iommu_calculate_max_sagaw(struct intel_iommu *iommu) in iommu_calculate_max_sagaw()
[all …]
Dpasid.h293 int intel_pasid_setup_first_level(struct intel_iommu *iommu,
296 int intel_pasid_setup_second_level(struct intel_iommu *iommu,
299 int intel_pasid_setup_dirty_tracking(struct intel_iommu *iommu,
302 int intel_pasid_setup_pass_through(struct intel_iommu *iommu,
304 int intel_pasid_setup_nested(struct intel_iommu *iommu, struct device *dev,
306 void intel_pasid_tear_down_entry(struct intel_iommu *iommu,
309 void intel_pasid_setup_page_snoop_control(struct intel_iommu *iommu,
Dcap_audit.c19 static inline void check_irq_capabilities(struct intel_iommu *a, in check_irq_capabilities()
20 struct intel_iommu *b) in check_irq_capabilities()
26 static inline void check_dmar_capabilities(struct intel_iommu *a, in check_dmar_capabilities()
27 struct intel_iommu *b) in check_dmar_capabilities()
74 static int cap_audit_hotplug(struct intel_iommu *iommu, enum cap_audit_type type) in cap_audit_hotplug()
141 static int cap_audit_static(struct intel_iommu *iommu, enum cap_audit_type type) in cap_audit_static()
144 struct intel_iommu *i; in cap_audit_static()
178 int intel_cap_audit(enum cap_audit_type type, struct intel_iommu *iommu) in intel_cap_audit()
Dperf.c18 bool dmar_latency_enabled(struct intel_iommu *iommu, enum latency_type type) in dmar_latency_enabled()
25 int dmar_latency_enable(struct intel_iommu *iommu, enum latency_type type) in dmar_latency_enable()
57 void dmar_latency_disable(struct intel_iommu *iommu, enum latency_type type) in dmar_latency_disable()
70 void dmar_latency_update(struct intel_iommu *iommu, enum latency_type type, u64 latency) in dmar_latency_update()
116 int dmar_latency_snapshot(struct intel_iommu *iommu, char *str, size_t size) in dmar_latency_snapshot()
Dpasid.c195 pasid_cache_invalidation_with_pasid(struct intel_iommu *iommu, in pasid_cache_invalidation_with_pasid()
210 devtlb_invalidation_with_pasid(struct intel_iommu *iommu, in devtlb_invalidation_with_pasid()
239 void intel_pasid_tear_down_entry(struct intel_iommu *iommu, struct device *dev, in intel_pasid_tear_down_entry()
274 static void pasid_flush_caches(struct intel_iommu *iommu, in pasid_flush_caches()
293 int intel_pasid_setup_first_level(struct intel_iommu *iommu, in intel_pasid_setup_first_level()
353 struct intel_iommu *iommu, in iommu_skip_agaw()
370 int intel_pasid_setup_second_level(struct intel_iommu *iommu, in intel_pasid_setup_second_level()
433 int intel_pasid_setup_dirty_tracking(struct intel_iommu *iommu, in intel_pasid_setup_dirty_tracking()
502 int intel_pasid_setup_pass_through(struct intel_iommu *iommu, in intel_pasid_setup_pass_through()
537 void intel_pasid_setup_page_snoop_control(struct intel_iommu *iommu, in intel_pasid_setup_page_snoop_control()
[all …]
Ddebugfs.c116 struct intel_iommu *iommu; in iommu_regset_show()
217 static void ctx_tbl_walk(struct seq_file *m, struct intel_iommu *iommu, u16 bus) in ctx_tbl_walk()
263 static void root_tbl_walk(struct seq_file *m, struct intel_iommu *iommu) in root_tbl_walk()
285 struct intel_iommu *iommu; in dmar_translation_struct_show()
353 struct intel_iommu *iommu; in domain_translation_struct_show()
483 struct intel_iommu *iommu) in invalidation_queue_entry_show()
512 struct intel_iommu *iommu; in invalidation_queue_show()
544 struct intel_iommu *iommu) in ir_tbl_remap_entry_show()
568 struct intel_iommu *iommu) in ir_tbl_posted_entry_show()
600 struct intel_iommu *iommu; in ir_translation_struct_show()
[all …]
Dperfmon.c327 struct intel_iommu *iommu = iommu_pmu->iommu; in iommu_pmu_start()
364 struct intel_iommu *iommu = iommu_pmu->iommu; in iommu_pmu_stop()
476 struct intel_iommu *iommu = iommu_pmu->iommu; in iommu_pmu_enable()
484 struct intel_iommu *iommu = iommu_pmu->iommu; in iommu_pmu_disable()
519 struct intel_iommu *iommu = dev_id; in iommu_pmu_irq_handler()
532 static int __iommu_pmu_register(struct intel_iommu *iommu) in __iommu_pmu_register()
556 get_perf_reg_address(struct intel_iommu *iommu, u32 offset) in get_perf_reg_address()
563 int alloc_iommu_pmu(struct intel_iommu *iommu) in alloc_iommu_pmu()
707 void free_iommu_pmu(struct intel_iommu *iommu) in free_iommu_pmu()
726 static int iommu_pmu_set_interrupt(struct intel_iommu *iommu) in iommu_pmu_set_interrupt()
[all …]
Ddmar.c68 static void free_iommu(struct intel_iommu *iommu);
953 static void unmap_iommu(struct intel_iommu *iommu) in unmap_iommu()
967 static int map_iommu(struct intel_iommu *iommu, struct dmar_drhd_unit *drhd) in map_iommu()
1041 struct intel_iommu *iommu; in alloc_iommu()
1168 static void free_iommu(struct intel_iommu *iommu) in free_iommu()
1239 static void qi_dump_fault(struct intel_iommu *iommu, u32 fault) in qi_dump_fault()
1270 static int qi_check_fault(struct intel_iommu *iommu, int index, int wait_index) in qi_check_fault()
1368 int qi_submit_sync(struct intel_iommu *iommu, struct qi_desc *desc, in qi_submit_sync()
1499 void qi_global_iec(struct intel_iommu *iommu) in qi_global_iec()
1512 void qi_flush_context(struct intel_iommu *iommu, u16 did, u16 sid, u8 fm, in qi_flush_context()
[all …]
Dsvm.c30 int intel_svm_enable_prq(struct intel_iommu *iommu) in intel_svm_enable_prq()
91 int intel_svm_finish_prq(struct intel_iommu *iommu) in intel_svm_finish_prq()
114 void intel_svm_check(struct intel_iommu *iommu) in intel_svm_check()
204 struct intel_iommu *iommu = info->iommu; in intel_svm_set_dev_pasid()
299 struct intel_iommu *iommu; in intel_drain_pasid_prq()
385 static void intel_svm_prq_report(struct intel_iommu *iommu, struct device *dev, in intel_svm_prq_report()
407 static void handle_bad_prq_event(struct intel_iommu *iommu, in handle_bad_prq_event()
432 struct intel_iommu *iommu = d; in prq_event_thread()
530 struct intel_iommu *iommu = info->iommu; in intel_svm_page_response()
Dtrace.h10 #define TRACE_SYSTEM intel_iommu
22 TP_PROTO(struct intel_iommu *iommu, u64 qw0, u64 qw1, u64 qw2, u64 qw3),
59 TP_PROTO(struct intel_iommu *iommu, struct device *dev,
DKconfig65 be enabled by passing intel_iommu=on to the kernel.
85 passing intel_iommu=sm_on to the kernel. If not sure, please use
Dcap_audit.h131 int intel_cap_audit(enum cap_audit_type type, struct intel_iommu *iommu);
Dnested.c26 struct intel_iommu *iommu = info->iommu; in intel_nested_attach_dev()
/linux-6.12.1/include/linux/
Ddmar.h28 struct intel_iommu;
49 struct intel_iommu *iommu;
130 void dmar_fault_dump_ptes(struct intel_iommu *iommu, u16 source_id,
133 static inline void dmar_fault_dump_ptes(struct intel_iommu *iommu, u16 source_id, in dmar_fault_dump_ptes()
297 extern int dmar_set_interrupt(struct intel_iommu *iommu);
/linux-6.12.1/Documentation/arch/x86/
Dintel_txt.rst141 VT-d PMRs). Thus, the kernel must be booted with 'intel_iommu=on'
205 module /vmlinuz-2.6.29-tip intel_iommu=on ro
Diommu.rst68 option intel_iommu=igfx_off to turn off the integrated graphics engine.
/linux-6.12.1/Documentation/driver-api/crypto/iaa/
Diaa-crypto.rst89 intel_iommu=on,sm_on
108 intel_iommu=off
/linux-6.12.1/Documentation/admin-guide/
Dkernel-parameters.txt2210 intel_iommu= [DMAR] Intel IOMMU driver (DMAR) option