Home
last modified time | relevance | path

Searched defs:iommu (Results 1 – 25 of 133) sorted by relevance

123456

/openbmc/linux/drivers/iommu/amd/
H A Dinit.c239 bool translation_pre_enabled(struct amd_iommu *iommu) in translation_pre_enabled()
244 static void clear_translation_pre_enabled(struct amd_iommu *iommu) in clear_translation_pre_enabled()
249 static void init_translation_status(struct amd_iommu *iommu) in init_translation_status()
277 struct amd_iommu *iommu; in get_global_efr() local
322 static void __init early_iommu_features_init(struct amd_iommu *iommu, in early_iommu_features_init()
335 static u32 iommu_read_l1(struct amd_iommu *iommu, u16 l1, u8 address) in iommu_read_l1()
344 static void iommu_write_l1(struct amd_iommu *iommu, u16 l1, u8 address, u32 val) in iommu_write_l1()
351 static u32 iommu_read_l2(struct amd_iommu *iommu, u8 address) in iommu_read_l2()
360 static void iommu_write_l2(struct amd_iommu *iommu, u8 address, u32 val) in iommu_write_l2()
379 static void iommu_set_exclusion_range(struct amd_iommu *iommu) in iommu_set_exclusion_range()
[all …]
H A Diommu.c122 struct dev_table_entry *get_dev_table(struct amd_iommu *iommu) in get_dev_table()
152 void amd_iommu_set_rlookup_table(struct amd_iommu *iommu, u16 devid) in amd_iommu_set_rlookup_table()
185 static struct iommu_dev_data *alloc_dev_data(struct amd_iommu *iommu, u16 devid) in alloc_dev_data()
202 static struct iommu_dev_data *search_dev_data(struct amd_iommu *iommu, u16 devid) in search_dev_data()
222 struct amd_iommu *iommu; in clone_alias() local
242 static void clone_aliases(struct amd_iommu *iommu, struct device *dev) in clone_aliases()
260 static void setup_aliases(struct amd_iommu *iommu, struct device *dev) in setup_aliases()
282 static struct iommu_dev_data *find_dev_data(struct amd_iommu *iommu, u16 devid) in find_dev_data()
352 struct amd_iommu *iommu; in check_device() local
375 static int iommu_init_device(struct amd_iommu *iommu, struct device *dev) in iommu_init_device()
[all …]
H A Damd_iommu.h28 static inline void amd_iommu_debugfs_setup(struct amd_iommu *iommu) {} in amd_iommu_debugfs_setup()
71 static inline int amd_iommu_create_irq_domain(struct amd_iommu *iommu) in amd_iommu_create_irq_domain()
90 static inline bool iommu_feature(struct amd_iommu *iommu, u64 mask) in iommu_feature()
/openbmc/linux/arch/sparc/include/asm/
H A Diommu_64.h55 struct iommu { struct
56 struct iommu_map_table tbl; argument
61 unsigned long iommu_control; argument
62 unsigned long iommu_tsbbase; argument
63 unsigned long iommu_flush; argument
64 unsigned long iommu_flushinv; argument
65 unsigned long iommu_tags; argument
66 unsigned long iommu_ctxflush; argument
89 int iommu_table_init(struct iommu *iommu, int tsbsize, argument
/openbmc/linux/drivers/iommu/intel/
H A Dirq_remapping.c33 struct intel_iommu *iommu; member
40 struct intel_iommu *iommu; member
47 struct intel_iommu *iommu; member
87 static bool ir_pre_enabled(struct intel_iommu *iommu) in ir_pre_enabled()
92 static void clear_ir_pre_enabled(struct intel_iommu *iommu) in clear_ir_pre_enabled()
97 static void init_ir_status(struct intel_iommu *iommu) in init_ir_status()
106 static int alloc_irte(struct intel_iommu *iommu, in alloc_irte()
146 static int qi_flush_iec(struct intel_iommu *iommu, int index, int mask) in qi_flush_iec()
162 struct intel_iommu *iommu; in modify_irte() local
233 struct intel_iommu *iommu; in clear_entries() local
[all …]
H A Diommu.c223 static inline bool context_copied(struct intel_iommu *iommu, u8 bus, u8 devfn) in context_copied()
232 set_context_copied(struct intel_iommu *iommu, u8 bus, u8 devfn) in set_context_copied()
238 clear_context_copied(struct intel_iommu *iommu, u8 bus, u8 devfn) in clear_context_copied()
273 struct intel_iommu *iommu; /* the corresponding iommu */ member
304 static bool translation_pre_enabled(struct intel_iommu *iommu) in translation_pre_enabled()
309 static void clear_translation_pre_enabled(struct intel_iommu *iommu) in clear_translation_pre_enabled()
314 static void init_translation_status(struct intel_iommu *iommu) in init_translation_status()
404 static unsigned long __iommu_calculate_sagaw(struct intel_iommu *iommu) in __iommu_calculate_sagaw()
422 static int __iommu_calculate_agaw(struct intel_iommu *iommu, int max_gaw) in __iommu_calculate_agaw()
439 int iommu_calculate_max_sagaw(struct intel_iommu *iommu) in iommu_calculate_max_sagaw()
[all …]
H A 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()
H A Ddebugfs.c117 struct intel_iommu *iommu; in iommu_regset_show() local
218 static void ctx_tbl_walk(struct seq_file *m, struct intel_iommu *iommu, u16 bus) in ctx_tbl_walk()
264 static void root_tbl_walk(struct seq_file *m, struct intel_iommu *iommu) in root_tbl_walk()
286 struct intel_iommu *iommu; in dmar_translation_struct_show() local
397 struct intel_iommu *iommu) in invalidation_queue_entry_show()
426 struct intel_iommu *iommu; in invalidation_queue_show() local
458 struct intel_iommu *iommu) in ir_tbl_remap_entry_show()
482 struct intel_iommu *iommu) in ir_tbl_posted_entry_show()
514 struct intel_iommu *iommu; in ir_translation_struct_show() local
562 static void latency_show_one(struct seq_file *m, struct intel_iommu *iommu, in latency_show_one()
[all …]
H A Dperf.h47 dmar_latency_enable(struct intel_iommu *iommu, enum latency_type type) in dmar_latency_enable()
53 dmar_latency_disable(struct intel_iommu *iommu, enum latency_type type) in dmar_latency_disable()
58 dmar_latency_enabled(struct intel_iommu *iommu, enum latency_type type) in dmar_latency_enabled()
64 dmar_latency_update(struct intel_iommu *iommu, enum latency_type type, u64 latency) in dmar_latency_update()
69 dmar_latency_snapshot(struct intel_iommu *iommu, char *str, size_t size) in dmar_latency_snapshot()
H A Dperfmon.c346 struct intel_iommu *iommu = iommu_pmu->iommu; in iommu_pmu_start() local
383 struct intel_iommu *iommu = iommu_pmu->iommu; in iommu_pmu_stop() local
495 struct intel_iommu *iommu = iommu_pmu->iommu; in iommu_pmu_enable() local
503 struct intel_iommu *iommu = iommu_pmu->iommu; in iommu_pmu_disable() local
538 struct intel_iommu *iommu = dev_id; in iommu_pmu_irq_handler() local
551 static int __iommu_pmu_register(struct intel_iommu *iommu) in __iommu_pmu_register()
574 get_perf_reg_address(struct intel_iommu *iommu, u32 offset) in get_perf_reg_address()
581 int alloc_iommu_pmu(struct intel_iommu *iommu) in alloc_iommu_pmu()
725 void free_iommu_pmu(struct intel_iommu *iommu) in free_iommu_pmu()
744 static int iommu_pmu_set_interrupt(struct intel_iommu *iommu) in iommu_pmu_set_interrupt()
[all …]
H A Ddmar.c952 static void unmap_iommu(struct intel_iommu *iommu) in unmap_iommu()
966 static int map_iommu(struct intel_iommu *iommu, struct dmar_drhd_unit *drhd) in map_iommu()
1040 struct intel_iommu *iommu; in alloc_iommu() local
1166 static void free_iommu(struct intel_iommu *iommu) in free_iommu()
1237 static void qi_dump_fault(struct intel_iommu *iommu, u32 fault) in qi_dump_fault()
1268 static int qi_check_fault(struct intel_iommu *iommu, int index, int wait_index) in qi_check_fault()
1344 int qi_submit_sync(struct intel_iommu *iommu, struct qi_desc *desc, in qi_submit_sync()
1475 void qi_global_iec(struct intel_iommu *iommu) in qi_global_iec()
1488 void qi_flush_context(struct intel_iommu *iommu, u16 did, u16 sid, u8 fm, in qi_flush_context()
1502 void qi_flush_iotlb(struct intel_iommu *iommu, u16 did, u64 addr, in qi_flush_iotlb()
[all …]
H A Dpasid.c29 int vcmd_alloc_pasid(struct intel_iommu *iommu, u32 *pasid) in vcmd_alloc_pasid()
60 void vcmd_free_pasid(struct intel_iommu *iommu, u32 pasid) in vcmd_free_pasid()
406 pasid_cache_invalidation_with_pasid(struct intel_iommu *iommu, in pasid_cache_invalidation_with_pasid()
421 devtlb_invalidation_with_pasid(struct intel_iommu *iommu, in devtlb_invalidation_with_pasid()
450 void intel_pasid_tear_down_entry(struct intel_iommu *iommu, struct device *dev, in intel_pasid_tear_down_entry()
487 static void pasid_flush_caches(struct intel_iommu *iommu, in pasid_flush_caches()
506 int intel_pasid_setup_first_level(struct intel_iommu *iommu, in intel_pasid_setup_first_level()
567 struct intel_iommu *iommu, in iommu_skip_agaw()
584 int intel_pasid_setup_second_level(struct intel_iommu *iommu, in intel_pasid_setup_second_level()
645 int intel_pasid_setup_pass_through(struct intel_iommu *iommu, in intel_pasid_setup_pass_through()
[all …]
H A Dperfmon.h45 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()
H A Dsvm.c64 int intel_svm_enable_prq(struct intel_iommu *iommu) in intel_svm_enable_prq()
127 int intel_svm_finish_prq(struct intel_iommu *iommu) in intel_svm_finish_prq()
150 void intel_svm_check(struct intel_iommu *iommu) in intel_svm_check()
318 static int intel_svm_bind_mm(struct intel_iommu *iommu, struct device *dev, in intel_svm_bind_mm()
395 struct intel_iommu *iommu; in intel_svm_remove_dev_pasid() local
483 struct intel_iommu *iommu; in intel_drain_pasid_prq() local
569 static int intel_svm_prq_report(struct intel_iommu *iommu, struct device *dev, in intel_svm_prq_report()
613 static void handle_bad_prq_event(struct intel_iommu *iommu, in handle_bad_prq_event()
654 struct intel_iommu *iommu = d; in prq_event_thread() local
754 struct intel_iommu *iommu; in intel_svm_page_response() local
[all …]
/openbmc/linux/drivers/iommu/
H A Dsun50i-iommu.c99 struct iommu_device iommu; member
124 struct sun50i_iommu *iommu; member
137 static u32 iommu_read(struct sun50i_iommu *iommu, u32 offset) in iommu_read()
142 static void iommu_write(struct sun50i_iommu *iommu, u32 offset, u32 value) in iommu_write()
293 struct sun50i_iommu *iommu = sun50i_domain->iommu; in sun50i_table_flush() local
300 static void sun50i_iommu_zap_iova(struct sun50i_iommu *iommu, in sun50i_iommu_zap_iova()
317 static void sun50i_iommu_zap_ptw_cache(struct sun50i_iommu *iommu, in sun50i_iommu_zap_ptw_cache()
333 static void sun50i_iommu_zap_range(struct sun50i_iommu *iommu, in sun50i_iommu_zap_range()
356 static int sun50i_iommu_flush_all_tlb(struct sun50i_iommu *iommu) in sun50i_iommu_flush_all_tlb()
386 struct sun50i_iommu *iommu = sun50i_domain->iommu; in sun50i_iommu_flush_iotlb_all() local
[all …]
H A Dmsm_iommu.c54 static int __enable_clocks(struct msm_iommu_dev *iommu) in __enable_clocks()
71 static void __disable_clocks(struct msm_iommu_dev *iommu) in __disable_clocks()
120 struct msm_iommu_dev *iommu = NULL; in __flush_iotlb() local
142 struct msm_iommu_dev *iommu = NULL; in __flush_iotlb_range() local
206 static void config_mids(struct msm_iommu_dev *iommu, in config_mids()
366 struct msm_iommu_dev *iommu, *ret = NULL; in find_iommu_for_dev() local
384 struct msm_iommu_dev *iommu; in msm_iommu_probe_device() local
401 struct msm_iommu_dev *iommu; in msm_iommu_attach_dev() local
451 struct msm_iommu_dev *iommu; in msm_iommu_set_platform_dma() local
516 struct msm_iommu_dev *iommu; in msm_iommu_iova_to_phys() local
[all …]
H A Drockchip-iommu.c113 struct iommu_device iommu; member
121 struct rk_iommu *iommu; member
345 static void rk_iommu_command(struct rk_iommu *iommu, u32 command) in rk_iommu_command()
357 static void rk_iommu_zap_lines(struct rk_iommu *iommu, dma_addr_t iova_start, in rk_iommu_zap_lines()
374 static bool rk_iommu_is_stall_active(struct rk_iommu *iommu) in rk_iommu_is_stall_active()
386 static bool rk_iommu_is_paging_enabled(struct rk_iommu *iommu) in rk_iommu_is_paging_enabled()
398 static bool rk_iommu_is_reset_done(struct rk_iommu *iommu) in rk_iommu_is_reset_done()
409 static int rk_iommu_enable_stall(struct rk_iommu *iommu) in rk_iommu_enable_stall()
434 static int rk_iommu_disable_stall(struct rk_iommu *iommu) in rk_iommu_disable_stall()
455 static int rk_iommu_enable_paging(struct rk_iommu *iommu) in rk_iommu_enable_paging()
[all …]
H A Diommu-sysfs.c54 int iommu_device_sysfs_add(struct iommu_device *iommu, in iommu_device_sysfs_add()
92 void iommu_device_sysfs_remove(struct iommu_device *iommu) in iommu_device_sysfs_remove()
106 int iommu_device_link(struct iommu_device *iommu, struct device *link) in iommu_device_link()
123 void iommu_device_unlink(struct iommu_device *iommu, struct device *link) in iommu_device_unlink()
/openbmc/linux/arch/sparc/kernel/
H A Diommu.c52 struct iommu *iommu = container_of(iommu_map_table, struct iommu, tbl); in iommu_flushall() local
80 #define IOPTE_IS_DUMMY(iommu, iopte) \ argument
83 static inline void iopte_make_dummy(struct iommu *iommu, iopte_t *iopte) in iopte_make_dummy()
93 int iommu_table_init(struct iommu *iommu, int tsbsize, in iommu_table_init()
157 struct iommu *iommu, in alloc_npages()
170 static int iommu_alloc_ctx(struct iommu *iommu) in iommu_alloc_ctx()
188 static inline void iommu_free_ctx(struct iommu *iommu, int ctx) in iommu_free_ctx()
202 struct iommu *iommu; in dma_4u_alloc_coherent() local
250 struct iommu *iommu; in dma_4u_free_coherent() local
268 struct iommu *iommu; in dma_4u_map_page() local
[all …]
H A Diommu-common.c19 static inline bool need_flush(struct iommu_map_table *iommu) in need_flush()
24 static inline void set_flush(struct iommu_map_table *iommu) in set_flush()
29 static inline void clear_flush(struct iommu_map_table *iommu) in clear_flush()
52 void iommu_tbl_pool_init(struct iommu_map_table *iommu, in iommu_tbl_pool_init()
98 struct iommu_map_table *iommu, in iommu_tbl_range_alloc()
246 void iommu_tbl_range_free(struct iommu_map_table *iommu, u64 dma_addr, in iommu_tbl_range_free()
/openbmc/linux/drivers/vfio/
H A Dvfio_iommu_type1.c165 static struct vfio_dma *vfio_find_dma(struct vfio_iommu *iommu, in vfio_find_dma()
184 static struct rb_node *vfio_find_dma_first_node(struct vfio_iommu *iommu, in vfio_find_dma_first_node()
209 static void vfio_link_dma(struct vfio_iommu *iommu, struct vfio_dma *new) in vfio_link_dma()
228 static void vfio_unlink_dma(struct vfio_iommu *iommu, struct vfio_dma *old) in vfio_unlink_dma()
272 static void vfio_iommu_populate_bitmap_full(struct vfio_iommu *iommu) in vfio_iommu_populate_bitmap_full()
284 static int vfio_dma_bitmap_alloc_all(struct vfio_iommu *iommu, size_t pgsize) in vfio_dma_bitmap_alloc_all()
309 static void vfio_dma_bitmap_free_all(struct vfio_iommu *iommu) in vfio_dma_bitmap_free_all()
802 struct vfio_iommu *iommu = iommu_data; in vfio_iommu_type1_pin_pages() local
919 struct vfio_iommu *iommu = iommu_data; in vfio_iommu_type1_unpin_pages() local
1037 static long vfio_unmap_unpin(struct vfio_iommu *iommu, struct vfio_dma *dma, in vfio_unmap_unpin()
[all …]
/openbmc/qemu/hw/remote/
H A Diommu.c42 RemoteIommu *iommu = opaque; in remote_iommu_find_add_as() local
85 RemoteIommu *iommu = REMOTE_IOMMU(obj); in remote_iommu_init() local
94 RemoteIommu *iommu = REMOTE_IOMMU(obj); in remote_iommu_finalize() local
109 RemoteIommu *iommu = NULL; in remote_iommu_setup() local
/openbmc/linux/drivers/gpu/drm/msm/
H A Dmsm_iommu.c157 struct msm_iommu *iommu = to_msm_iommu(pagetable->parent); in msm_iommu_pagetable_destroy() local
193 struct msm_iommu *iommu = to_msm_iommu(mmu); in msm_iommu_get_geometry() local
252 struct msm_iommu *iommu = to_msm_iommu(parent); in msm_iommu_pagetable_create() local
325 struct msm_iommu *iommu = arg; in msm_fault_handler() local
356 struct msm_iommu *iommu = to_msm_iommu(mmu); in msm_iommu_detach() local
364 struct msm_iommu *iommu = to_msm_iommu(mmu); in msm_iommu_map() local
379 struct msm_iommu *iommu = to_msm_iommu(mmu); in msm_iommu_unmap() local
391 struct msm_iommu *iommu = to_msm_iommu(mmu); in msm_iommu_destroy() local
407 struct msm_iommu *iommu; in msm_iommu_new() local
440 struct msm_iommu *iommu; in msm_iommu_gpu_new() local
/openbmc/linux/arch/powerpc/platforms/cell/
H A Diommu.c104 struct cbe_iommu *iommu; member
131 static void invalidate_tce_cache(struct cbe_iommu *iommu, unsigned long *pte, in invalidate_tce_cache()
235 struct cbe_iommu *iommu = data; in ioc_interrupt() local
298 static void __init cell_iommu_setup_stab(struct cbe_iommu *iommu, in cell_iommu_setup_stab()
318 static unsigned long *__init cell_iommu_alloc_ptab(struct cbe_iommu *iommu, in cell_iommu_alloc_ptab()
378 static void __init cell_iommu_enable_hardware(struct cbe_iommu *iommu) in cell_iommu_enable_hardware()
418 static void __init cell_iommu_setup_hardware(struct cbe_iommu *iommu, in cell_iommu_setup_hardware()
464 cell_iommu_setup_window(struct cbe_iommu *iommu, struct device_node *np, in cell_iommu_setup_window()
545 struct cbe_iommu *iommu; in cell_get_iommu_table() local
622 struct cbe_iommu *iommu; in cell_iommu_alloc() local
[all …]
/openbmc/qemu/hw/riscv/
H A Driscv-iommu-pci.c66 RISCVIOMMUState iommu; /* common IOMMU state */ member
70 static void riscv_iommu_pci_notify(RISCVIOMMUState *iommu, unsigned vector) in riscv_iommu_pci_notify()
82 RISCVIOMMUState *iommu = &s->iommu; in riscv_iommu_pci_realize() local
152 RISCVIOMMUState *iommu = &s->iommu; in riscv_iommu_pci_init() local

123456