Home
last modified time | relevance | path

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

1234567

/kernel/linux/linux-5.10/drivers/iommu/amd/
Dinit.c262 bool translation_pre_enabled(struct amd_iommu *iommu) in translation_pre_enabled()
268 static void clear_translation_pre_enabled(struct amd_iommu *iommu) in clear_translation_pre_enabled()
273 static void init_translation_status(struct amd_iommu *iommu) in init_translation_status()
305 struct amd_iommu *iommu; in check_feature_on_all_iommus() local
322 static void __init early_iommu_features_init(struct amd_iommu *iommu, in early_iommu_features_init()
331 static u32 iommu_read_l1(struct amd_iommu *iommu, u16 l1, u8 address) in iommu_read_l1()
340 static void iommu_write_l1(struct amd_iommu *iommu, u16 l1, u8 address, u32 val) in iommu_write_l1()
347 static u32 iommu_read_l2(struct amd_iommu *iommu, u8 address) in iommu_read_l2()
356 static void iommu_write_l2(struct amd_iommu *iommu, u8 address, u32 val) in iommu_write_l2()
375 static void iommu_set_exclusion_range(struct amd_iommu *iommu) in iommu_set_exclusion_range()
[all …]
Diommu.c276 struct amd_iommu *iommu = amd_iommu_rlookup_table[devid]; in find_dev_data() local
397 struct amd_iommu *iommu; in iommu_init_device() local
573 static void iommu_print_event(struct amd_iommu *iommu, void *__evt) in iommu_print_event()
662 static void iommu_poll_events(struct amd_iommu *iommu) in iommu_poll_events()
677 static void iommu_handle_ppr_entry(struct amd_iommu *iommu, u64 *raw) in iommu_handle_ppr_entry()
695 static void iommu_poll_ppr_log(struct amd_iommu *iommu) in iommu_poll_ppr_log()
757 static void iommu_poll_ga_log(struct amd_iommu *iommu) in iommu_poll_ga_log()
801 amd_iommu_set_pci_msi_domain(struct device *dev, struct amd_iommu *iommu) in amd_iommu_set_pci_msi_domain()
812 amd_iommu_set_pci_msi_domain(struct device *dev, struct amd_iommu *iommu) { } in amd_iommu_set_pci_msi_domain()
822 struct amd_iommu *iommu = (struct amd_iommu *) data; in amd_iommu_int_thread() local
[all …]
/kernel/linux/linux-4.19/arch/sparc/include/asm/
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
/kernel/linux/linux-5.10/arch/sparc/include/asm/
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
/kernel/linux/linux-4.19/drivers/iommu/
Damd_iommu_init.c272 bool translation_pre_enabled(struct amd_iommu *iommu) in translation_pre_enabled()
278 static void clear_translation_pre_enabled(struct amd_iommu *iommu) in clear_translation_pre_enabled()
283 static void init_translation_status(struct amd_iommu *iommu) in init_translation_status()
313 static u32 iommu_read_l1(struct amd_iommu *iommu, u16 l1, u8 address) in iommu_read_l1()
322 static void iommu_write_l1(struct amd_iommu *iommu, u16 l1, u8 address, u32 val) in iommu_write_l1()
329 static u32 iommu_read_l2(struct amd_iommu *iommu, u8 address) in iommu_read_l2()
338 static void iommu_write_l2(struct amd_iommu *iommu, u8 address, u32 val) in iommu_write_l2()
357 static void iommu_set_exclusion_range(struct amd_iommu *iommu) in iommu_set_exclusion_range()
376 static void iommu_set_device_table(struct amd_iommu *iommu) in iommu_set_device_table()
389 static void iommu_feature_enable(struct amd_iommu *iommu, u8 bit) in iommu_feature_enable()
[all …]
Dintel_irq_remapping.c32 struct intel_iommu *iommu; member
39 struct intel_iommu *iommu; member
46 struct intel_iommu *iommu; member
85 static bool ir_pre_enabled(struct intel_iommu *iommu) in ir_pre_enabled()
90 static void clear_ir_pre_enabled(struct intel_iommu *iommu) in clear_ir_pre_enabled()
95 static void init_ir_status(struct intel_iommu *iommu) in init_ir_status()
104 static int alloc_irte(struct intel_iommu *iommu, int irq, in alloc_irte()
144 static int qi_flush_iec(struct intel_iommu *iommu, int index, int mask) in qi_flush_iec()
158 struct intel_iommu *iommu; in modify_irte() local
238 struct intel_iommu *iommu; in clear_entries() local
[all …]
Dmsm_iommu.c66 static int __enable_clocks(struct msm_iommu_dev *iommu) in __enable_clocks()
83 static void __disable_clocks(struct msm_iommu_dev *iommu) in __disable_clocks()
132 struct msm_iommu_dev *iommu = NULL; in __flush_iotlb() local
154 struct msm_iommu_dev *iommu = NULL; in __flush_iotlb_range() local
216 static void config_mids(struct msm_iommu_dev *iommu, in config_mids()
377 struct msm_iommu_dev *iommu, *ret = NULL; in find_iommu_for_dev() local
395 struct msm_iommu_dev *iommu; in msm_iommu_add_device() local
419 struct msm_iommu_dev *iommu; in msm_iommu_remove_device() local
436 struct msm_iommu_dev *iommu; in msm_iommu_attach_dev() local
486 struct msm_iommu_dev *iommu; in msm_iommu_detach_dev() local
[all …]
Drockchip-iommu.c104 struct iommu_device iommu; member
112 struct rk_iommu *iommu; member
282 static void rk_iommu_command(struct rk_iommu *iommu, u32 command) in rk_iommu_command()
294 static void rk_iommu_zap_lines(struct rk_iommu *iommu, dma_addr_t iova_start, in rk_iommu_zap_lines()
311 static bool rk_iommu_is_stall_active(struct rk_iommu *iommu) in rk_iommu_is_stall_active()
323 static bool rk_iommu_is_paging_enabled(struct rk_iommu *iommu) in rk_iommu_is_paging_enabled()
335 static bool rk_iommu_is_reset_done(struct rk_iommu *iommu) in rk_iommu_is_reset_done()
346 static int rk_iommu_enable_stall(struct rk_iommu *iommu) in rk_iommu_enable_stall()
371 static int rk_iommu_disable_stall(struct rk_iommu *iommu) in rk_iommu_disable_stall()
392 static int rk_iommu_enable_paging(struct rk_iommu *iommu) in rk_iommu_enable_paging()
[all …]
Dintel-iommu.c458 #define ecs_enabled(iommu) (intel_iommu_ecs && ecap_ecs(iommu->ecap) && \ argument
462 #define pasid_enabled(iommu) (ecs_enabled(iommu) && \ argument
495 static bool translation_pre_enabled(struct intel_iommu *iommu) in translation_pre_enabled()
500 static void clear_translation_pre_enabled(struct intel_iommu *iommu) in clear_translation_pre_enabled()
505 static void init_translation_status(struct intel_iommu *iommu) in init_translation_status()
569 static struct dmar_domain* get_iommu_domain(struct intel_iommu *iommu, u16 did) in get_iommu_domain()
581 static void set_iommu_domain(struct intel_iommu *iommu, u16 did, in set_iommu_domain()
659 static int __iommu_calculate_agaw(struct intel_iommu *iommu, int max_gaw) in __iommu_calculate_agaw()
677 int iommu_calculate_max_sagaw(struct intel_iommu *iommu) in iommu_calculate_max_sagaw()
687 int iommu_calculate_agaw(struct intel_iommu *iommu) in iommu_calculate_agaw()
[all …]
Ddmar.c931 static void unmap_iommu(struct intel_iommu *iommu) in unmap_iommu()
945 static int map_iommu(struct intel_iommu *iommu, u64 phys_addr) in map_iommu()
1006 static int dmar_alloc_seq_id(struct intel_iommu *iommu) in dmar_alloc_seq_id()
1020 static void dmar_free_seq_id(struct intel_iommu *iommu) in dmar_free_seq_id()
1030 struct intel_iommu *iommu; in alloc_iommu() local
1122 static void free_iommu(struct intel_iommu *iommu) in free_iommu()
1166 static int qi_check_fault(struct intel_iommu *iommu, int index) in qi_check_fault()
1230 int qi_submit_sync(struct qi_desc *desc, struct intel_iommu *iommu) in qi_submit_sync()
1306 void qi_global_iec(struct intel_iommu *iommu) in qi_global_iec()
1317 void qi_flush_context(struct intel_iommu *iommu, u16 did, u16 sid, u8 fm, in qi_flush_context()
[all …]
Diommu-sysfs.c57 int iommu_device_sysfs_add(struct iommu_device *iommu, in iommu_device_sysfs_add()
94 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()
126 void iommu_device_unlink(struct iommu_device *iommu, struct device *link) in iommu_device_unlink()
/kernel/linux/linux-5.10/drivers/iommu/intel/
Dirq_remapping.c33 struct intel_iommu *iommu; member
40 struct intel_iommu *iommu; member
47 struct intel_iommu *iommu; member
86 static bool ir_pre_enabled(struct intel_iommu *iommu) in ir_pre_enabled()
91 static void clear_ir_pre_enabled(struct intel_iommu *iommu) in clear_ir_pre_enabled()
96 static void init_ir_status(struct intel_iommu *iommu) in init_ir_status()
105 static int alloc_irte(struct intel_iommu *iommu, in alloc_irte()
145 static int qi_flush_iec(struct intel_iommu *iommu, int index, int mask) in qi_flush_iec()
161 struct intel_iommu *iommu; in modify_irte() local
231 struct intel_iommu *iommu = map_ioapic_to_iommu(apic); in map_ioapic_to_ir() local
[all …]
Diommu.c414 static bool translation_pre_enabled(struct intel_iommu *iommu) in translation_pre_enabled()
419 static void clear_translation_pre_enabled(struct intel_iommu *iommu) in clear_translation_pre_enabled()
424 static void init_translation_status(struct intel_iommu *iommu) in init_translation_status()
479 static struct dmar_domain* get_iommu_domain(struct intel_iommu *iommu, u16 did) in get_iommu_domain()
491 static void set_iommu_domain(struct intel_iommu *iommu, u16 did, in set_iommu_domain()
563 static int __iommu_calculate_agaw(struct intel_iommu *iommu, int max_gaw) in __iommu_calculate_agaw()
581 int iommu_calculate_max_sagaw(struct intel_iommu *iommu) in iommu_calculate_max_sagaw()
591 int iommu_calculate_agaw(struct intel_iommu *iommu) in iommu_calculate_agaw()
614 static inline bool iommu_paging_structure_coherency(struct intel_iommu *iommu) in iommu_paging_structure_coherency()
623 struct intel_iommu *iommu; in domain_update_iommu_coherency() local
[all …]
Ddmar.c947 static void unmap_iommu(struct intel_iommu *iommu) in unmap_iommu()
961 static int map_iommu(struct intel_iommu *iommu, u64 phys_addr) in map_iommu()
1024 static int dmar_alloc_seq_id(struct intel_iommu *iommu) in dmar_alloc_seq_id()
1038 static void dmar_free_seq_id(struct intel_iommu *iommu) in dmar_free_seq_id()
1048 struct intel_iommu *iommu; in alloc_iommu() local
1159 static void free_iommu(struct intel_iommu *iommu) in free_iommu()
1203 static int qi_check_fault(struct intel_iommu *iommu, int index, int wait_index) in qi_check_fault()
1276 int qi_submit_sync(struct intel_iommu *iommu, struct qi_desc *desc, in qi_submit_sync()
1367 void qi_global_iec(struct intel_iommu *iommu) in qi_global_iec()
1380 void qi_flush_context(struct intel_iommu *iommu, u16 did, u16 sid, u8 fm, in qi_flush_context()
[all …]
/kernel/linux/linux-4.19/drivers/gpu/drm/msm/
Dmsm_iommu.c30 struct msm_iommu *iommu = arg; in msm_fault_handler() local
40 struct msm_iommu *iommu = to_msm_iommu(mmu); in msm_iommu_attach() local
53 struct msm_iommu *iommu = to_msm_iommu(mmu); in msm_iommu_detach() local
63 struct msm_iommu *iommu = to_msm_iommu(mmu); in msm_iommu_map() local
77 struct msm_iommu *iommu = to_msm_iommu(mmu); in msm_iommu_unmap() local
88 struct msm_iommu *iommu = to_msm_iommu(mmu); in msm_iommu_destroy() local
103 struct msm_iommu *iommu; in msm_iommu_new() local
/kernel/linux/linux-5.10/drivers/iommu/
Dsun50i-iommu.c97 struct iommu_device iommu; member
122 struct sun50i_iommu *iommu; member
135 static u32 iommu_read(struct sun50i_iommu *iommu, u32 offset) in iommu_read()
140 static void iommu_write(struct sun50i_iommu *iommu, u32 offset, u32 value) in iommu_write()
291 struct sun50i_iommu *iommu = sun50i_domain->iommu; in sun50i_table_flush() local
298 static int sun50i_iommu_flush_all_tlb(struct sun50i_iommu *iommu) in sun50i_iommu_flush_all_tlb()
328 struct sun50i_iommu *iommu = sun50i_domain->iommu; in sun50i_iommu_flush_iotlb_all() local
353 static int sun50i_iommu_enable(struct sun50i_iommu *iommu) in sun50i_iommu_enable()
435 static void sun50i_iommu_disable(struct sun50i_iommu *iommu) in sun50i_iommu_disable()
450 static void *sun50i_iommu_alloc_page_table(struct sun50i_iommu *iommu, in sun50i_iommu_alloc_page_table()
[all …]
Dmsm_iommu.c55 static int __enable_clocks(struct msm_iommu_dev *iommu) in __enable_clocks()
72 static void __disable_clocks(struct msm_iommu_dev *iommu) in __disable_clocks()
121 struct msm_iommu_dev *iommu = NULL; in __flush_iotlb() local
143 struct msm_iommu_dev *iommu = NULL; in __flush_iotlb_range() local
214 static void config_mids(struct msm_iommu_dev *iommu, in config_mids()
375 struct msm_iommu_dev *iommu, *ret = NULL; in find_iommu_for_dev() local
393 struct msm_iommu_dev *iommu; in msm_iommu_probe_device() local
414 struct msm_iommu_dev *iommu; in msm_iommu_attach_dev() local
464 struct msm_iommu_dev *iommu; in msm_iommu_detach_dev() local
517 struct msm_iommu_dev *iommu; in msm_iommu_iova_to_phys() local
[all …]
Drockchip-iommu.c107 struct iommu_device iommu; member
115 struct rk_iommu *iommu; member
285 static void rk_iommu_command(struct rk_iommu *iommu, u32 command) in rk_iommu_command()
297 static void rk_iommu_zap_lines(struct rk_iommu *iommu, dma_addr_t iova_start, in rk_iommu_zap_lines()
314 static bool rk_iommu_is_stall_active(struct rk_iommu *iommu) in rk_iommu_is_stall_active()
326 static bool rk_iommu_is_paging_enabled(struct rk_iommu *iommu) in rk_iommu_is_paging_enabled()
338 static bool rk_iommu_is_reset_done(struct rk_iommu *iommu) in rk_iommu_is_reset_done()
349 static int rk_iommu_enable_stall(struct rk_iommu *iommu) in rk_iommu_enable_stall()
374 static int rk_iommu_disable_stall(struct rk_iommu *iommu) in rk_iommu_disable_stall()
395 static int rk_iommu_enable_paging(struct rk_iommu *iommu) in rk_iommu_enable_paging()
[all …]
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()
127 void iommu_device_unlink(struct iommu_device *iommu, struct device *link) in iommu_device_unlink()
/kernel/linux/linux-4.19/arch/sparc/kernel/
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()
158 struct iommu *iommu, in alloc_npages()
171 static int iommu_alloc_ctx(struct iommu *iommu) in iommu_alloc_ctx()
189 static inline void iommu_free_ctx(struct iommu *iommu, int ctx) in iommu_free_ctx()
203 struct iommu *iommu; in dma_4u_alloc_coherent() local
251 struct iommu *iommu; in dma_4u_free_coherent() local
269 struct iommu *iommu; in dma_4u_map_page() local
[all …]
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()
250 void iommu_tbl_range_free(struct iommu_map_table *iommu, u64 dma_addr, in iommu_tbl_range_free()
/kernel/linux/linux-5.10/arch/sparc/kernel/
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 …]
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()
/kernel/linux/linux-5.10/drivers/vfio/
Dvfio_iommu_type1.c131 #define IS_IOMMU_CAP_DOMAIN_IN_CONTAINER(iommu) \ argument
158 static struct vfio_dma *vfio_find_dma(struct vfio_iommu *iommu, in vfio_find_dma()
177 static void vfio_link_dma(struct vfio_iommu *iommu, struct vfio_dma *new) in vfio_link_dma()
196 static void vfio_unlink_dma(struct vfio_iommu *iommu, struct vfio_dma *old) in vfio_unlink_dma()
240 static void vfio_iommu_populate_bitmap_full(struct vfio_iommu *iommu) in vfio_iommu_populate_bitmap_full()
252 static int vfio_dma_bitmap_alloc_all(struct vfio_iommu *iommu, size_t pgsize) in vfio_dma_bitmap_alloc_all()
277 static void vfio_dma_bitmap_free_all(struct vfio_iommu *iommu) in vfio_dma_bitmap_free_all()
660 struct vfio_iommu *iommu = iommu_data; in vfio_iommu_type1_pin_pages() local
764 struct vfio_iommu *iommu = iommu_data; in vfio_iommu_type1_unpin_pages() local
885 static long vfio_unmap_unpin(struct vfio_iommu *iommu, struct vfio_dma *dma, in vfio_unmap_unpin()
[all …]
/kernel/linux/linux-4.19/drivers/vfio/
Dvfio_iommu_type1.c119 #define IS_IOMMU_CAP_DOMAIN_IN_CONTAINER(iommu) \ argument
129 static struct vfio_dma *vfio_find_dma(struct vfio_iommu *iommu, in vfio_find_dma()
148 static void vfio_link_dma(struct vfio_iommu *iommu, struct vfio_dma *new) in vfio_link_dma()
167 static void vfio_unlink_dma(struct vfio_iommu *iommu, struct vfio_dma *old) in vfio_unlink_dma()
581 struct vfio_iommu *iommu = iommu_data; in vfio_iommu_type1_pin_pages() local
667 struct vfio_iommu *iommu = iommu_data; in vfio_iommu_type1_unpin_pages() local
791 static long vfio_unmap_unpin(struct vfio_iommu *iommu, struct vfio_dma *dma, in vfio_unmap_unpin()
870 static void vfio_remove_dma(struct vfio_iommu *iommu, struct vfio_dma *dma) in vfio_remove_dma()
879 static unsigned long vfio_pgsize_bitmap(struct vfio_iommu *iommu) in vfio_pgsize_bitmap()
905 static int vfio_dma_do_unmap(struct vfio_iommu *iommu, in vfio_dma_do_unmap()
[all …]

1234567