| /linux/drivers/iommu/amd/ |
| H A D | init.c | 235 bool translation_pre_enabled(struct amd_iommu *iommu) in translation_pre_enabled() 240 static void clear_translation_pre_enabled(struct amd_iommu *iommu) in clear_translation_pre_enabled() 245 static void init_translation_status(struct amd_iommu *iommu) in init_translation_status() 270 struct amd_iommu *iommu; in get_global_efr() local 305 static void __init early_iommu_features_init(struct amd_iommu *iommu, in early_iommu_features_init() 318 static u32 iommu_read_l1(struct amd_iommu *iommu, u16 l1, u8 address) in iommu_read_l1() 327 static void iommu_write_l1(struct amd_iommu *iommu, u16 l1, u8 address, u32 val) in iommu_write_l1() 334 static u32 iommu_read_l2(struct amd_iommu *iommu, u8 address) in iommu_read_l2() 343 static void iommu_write_l2(struct amd_iommu *iommu, u8 address, u32 val) in iommu_write_l2() 362 static void iommu_set_exclusion_range(struct amd_iommu *iommu) in iommu_set_exclusion_range() [all …]
|
| H A D | ppr.c | 20 int __init amd_iommu_alloc_ppr_log(struct amd_iommu *iommu) in amd_iommu_alloc_ppr_log() 27 void amd_iommu_enable_ppr_log(struct amd_iommu *iommu) in amd_iommu_enable_ppr_log() 51 void __init amd_iommu_free_ppr_log(struct amd_iommu *iommu) in amd_iommu_free_ppr_log() 60 void amd_iommu_restart_ppr_log(struct amd_iommu *iommu) in amd_iommu_restart_ppr_log() 83 static bool ppr_is_valid(struct amd_iommu *iommu, u64 *raw) in ppr_is_valid() 107 static void iommu_call_iopf_notifier(struct amd_iommu *iommu, u64 *raw) in iommu_call_iopf_notifier() 164 void amd_iommu_poll_ppr_log(struct amd_iommu *iommu) in amd_iommu_poll_ppr_log() 220 int amd_iommu_iopf_init(struct amd_iommu *iommu) in amd_iommu_iopf_init() 238 void amd_iommu_iopf_uninit(struct amd_iommu *iommu) in amd_iommu_iopf_uninit() 250 int amd_iommu_iopf_add_device(struct amd_iommu *iommu, in amd_iommu_iopf_add_device() [all …]
|
| H A D | iommu.c | 146 static void update_dte256(struct amd_iommu *iommu, struct iommu_dev_data *dev_data, in update_dte256() 212 void amd_iommu_update_dte(struct amd_iommu *iommu, in amd_iommu_update_dte() 222 static void get_dte256(struct amd_iommu *iommu, struct iommu_dev_data *dev_data, in get_dte256() 312 struct dev_table_entry *get_dev_table(struct amd_iommu *iommu) in get_dev_table() 342 void amd_iommu_set_rlookup_table(struct amd_iommu *iommu, u16 devid) in amd_iommu_set_rlookup_table() 374 static struct iommu_dev_data *alloc_dev_data(struct amd_iommu *iommu, u16 devid) in alloc_dev_data() 392 struct iommu_dev_data *search_dev_data(struct amd_iommu *iommu, u16 devid) in search_dev_data() 413 struct amd_iommu *iommu; in clone_alias() local 449 static void clone_aliases(struct amd_iommu *iommu, struct device *dev) in clone_aliases() 467 static void setup_aliases(struct amd_iommu *iommu, struct device *dev) in setup_aliases() [all …]
|
| H A D | debugfs.c | 28 struct amd_iommu *iommu = m->private; in iommu_mmio_write() local 48 struct amd_iommu *iommu = m->private; in iommu_mmio_show() local 69 struct amd_iommu *iommu = m->private; in iommu_capability_write() local 89 struct amd_iommu *iommu = m->private; in iommu_capability_show() local 113 struct amd_iommu *iommu = m->private; in iommu_cmdbuf_show() local 140 struct amd_iommu *iommu; in devid_write() local 213 struct amd_iommu *iommu; in dump_dte() local 295 struct amd_iommu *iommu; in dump_irte() local 366 struct amd_iommu *iommu; in amd_iommu_debugfs_setup() local
|
| /linux/arch/sparc/include/asm/ |
| H A D | iommu_64.h | 55 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
|
| /linux/drivers/iommu/intel/ |
| H A D | iommu.c | 53 #define rwbf_required(iommu) (rwbf_quirk || cap_rwbf((iommu)->cap)) argument 124 struct device *device_rbtree_find(struct intel_iommu *iommu, u16 rid) in device_rbtree_find() 139 static int device_rbtree_insert(struct intel_iommu *iommu, in device_rbtree_insert() 156 struct intel_iommu *iommu = info->iommu; in device_rbtree_remove() local 185 struct intel_iommu *iommu; /* the corresponding iommu */ member 214 static bool translation_pre_enabled(struct intel_iommu *iommu) in translation_pre_enabled() 219 static void clear_translation_pre_enabled(struct intel_iommu *iommu) in clear_translation_pre_enabled() 224 static void init_translation_status(struct intel_iommu *iommu) in init_translation_status() 285 static unsigned long __iommu_calculate_sagaw(struct intel_iommu *iommu) in __iommu_calculate_sagaw() 303 static int __iommu_calculate_agaw(struct intel_iommu *iommu, int max_gaw) in __iommu_calculate_agaw() [all …]
|
| H A D | dmar.c | 950 static void unmap_iommu(struct intel_iommu *iommu) in unmap_iommu() 964 static int map_iommu(struct intel_iommu *iommu, struct dmar_drhd_unit *drhd) in map_iommu() 1038 struct intel_iommu *iommu; in alloc_iommu() local 1168 static void free_iommu(struct intel_iommu *iommu) in free_iommu() 1240 static void qi_dump_fault(struct intel_iommu *iommu, u32 fault) in qi_dump_fault() 1271 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() 1526 void qi_flush_iotlb(struct intel_iommu *iommu, u16 did, u64 addr, in qi_flush_iotlb() [all …]
|
| H A D | perf.c | 18 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 void dmar_latency_snapshot(struct intel_iommu *iommu, char *str, size_t size) in dmar_latency_snapshot()
|
| H A D | perfmon.h | 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()
|
| H A D | nested.c | 26 struct intel_iommu *iommu = info->iommu; in intel_nested_attach_dev() local 134 static int domain_setup_nested(struct intel_iommu *iommu, in domain_setup_nested() 151 struct intel_iommu *iommu = info->iommu; in intel_nested_set_dev_pasid() local 202 struct intel_iommu *iommu = info->iommu; in intel_iommu_domain_alloc_nested() local
|
| H A D | svm.c | 28 void intel_svm_check(struct intel_iommu *iommu) in intel_svm_check() 116 struct intel_iommu *iommu; in intel_iommu_sva_supported() local 153 struct intel_iommu *iommu = info->iommu; in intel_svm_set_dev_pasid() local
|
| /linux/tools/testing/selftests/vfio/lib/include/libvfio/ |
| H A D | iommu.h | 27 struct iommu { struct 35 struct iommu *iommu_init(const char *iommu_mode); argument 40 static inline void iommu_map(struct iommu *iommu, struct dma_region *region) in iommu_map() argument 28 modeiommu global() argument 30 iommufdiommu global() argument 47 iommu_unmap(struct iommu * iommu,struct dma_region * region) iommu_unmap() argument 54 iommu_unmap_all(struct iommu * iommu) iommu_unmap_all() argument [all...] |
| /linux/tools/testing/selftests/vfio/lib/ |
| H A D | iommu.c | 69 int __iommu_hva2iova(struct iommu *iommu, void *vaddr, iova_t *iova) in __iommu_hva2iova() 89 iova_t iommu_hva2iova(struct iommu *iommu, void *vaddr) in iommu_hva2iova() 100 static int vfio_iommu_map(struct iommu *iommu, struct dma_region *region) in vfio_iommu_map() 116 static int iommufd_map(struct iommu *iommu, struct dma_region *region) in iommufd_map() 135 int __iommu_map(struct iommu *iommu, struct dma_region *region) in __iommu_map() 170 static int vfio_iommu_unmap(struct iommu *iommu, struct dma_region *region, in vfio_iommu_unmap() 195 static int iommufd_unmap(struct iommu *iommu, struct dma_region *region, in iommufd_unmap() 202 int __iommu_unmap(struct iommu *iommu, struct dma_region *region, u64 *unmapped) in __iommu_unmap() 219 int __iommu_unmap_all(struct iommu *iommu, u64 *unmapped) in __iommu_unmap_all() 312 static struct iommu_iova_range *vfio_iommu_iova_ranges(struct iommu *iommu, in vfio_iommu_iova_ranges() [all …]
|
| /linux/drivers/iommu/ |
| H A D | sun50i-iommu.c | 101 struct iommu_device iommu; member 125 struct sun50i_iommu *iommu; member 138 static u32 iommu_read(struct sun50i_iommu *iommu, u32 offset) in iommu_read() 143 static void iommu_write(struct sun50i_iommu *iommu, u32 offset, u32 value) in iommu_write() 294 struct sun50i_iommu *iommu = sun50i_domain->iommu; in sun50i_table_flush() local 301 static void sun50i_iommu_zap_iova(struct sun50i_iommu *iommu, in sun50i_iommu_zap_iova() 318 static void sun50i_iommu_zap_ptw_cache(struct sun50i_iommu *iommu, in sun50i_iommu_zap_ptw_cache() 334 static void sun50i_iommu_zap_range(struct sun50i_iommu *iommu, in sun50i_iommu_zap_range() 357 static int sun50i_iommu_flush_all_tlb(struct sun50i_iommu *iommu) in sun50i_iommu_flush_all_tlb() 387 struct sun50i_iommu *iommu = sun50i_domain->iommu; in sun50i_iommu_flush_iotlb_all() local [all …]
|
| H A D | rockchip-iommu.c | 117 struct iommu_device iommu; member 124 struct rk_iommu *iommu; member 347 static void rk_iommu_command(struct rk_iommu *iommu, u32 command) in rk_iommu_command() 359 static void rk_iommu_zap_lines(struct rk_iommu *iommu, dma_addr_t iova_start, in rk_iommu_zap_lines() 376 static bool rk_iommu_is_stall_active(struct rk_iommu *iommu) in rk_iommu_is_stall_active() 388 static bool rk_iommu_is_paging_enabled(struct rk_iommu *iommu) in rk_iommu_is_paging_enabled() 400 static bool rk_iommu_is_reset_done(struct rk_iommu *iommu) in rk_iommu_is_reset_done() 411 static int rk_iommu_enable_stall(struct rk_iommu *iommu) in rk_iommu_enable_stall() 436 static int rk_iommu_disable_stall(struct rk_iommu *iommu) in rk_iommu_disable_stall() 457 static int rk_iommu_enable_paging(struct rk_iommu *iommu) in rk_iommu_enable_paging() [all …]
|
| H A D | msm_iommu.c | 54 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() 363 struct msm_iommu_dev *iommu, *ret = NULL; in find_iommu_for_dev() local 381 struct msm_iommu_dev *iommu; in msm_iommu_probe_device() local 399 struct msm_iommu_dev *iommu; in msm_iommu_attach_dev() local 450 struct msm_iommu_dev *iommu; in msm_iommu_identity_attach() local 530 struct msm_iommu_dev *iommu; in msm_iommu_iova_to_phys() local [all …]
|
| H A D | iommu-sysfs.c | 54 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()
|
| /linux/arch/sparc/kernel/ |
| H A D | iommu.c | 52 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 267 struct iommu *iommu; in dma_4u_map_phys() local [all …]
|
| H A D | iommu-common.c | 19 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()
|
| H A D | sbus.c | 63 struct iommu *iommu = dev->archdata.iommu; in sbus_set_sbus64() local 213 struct iommu *iommu = op->dev.archdata.iommu; in sbus_build_irq() local 275 struct iommu *iommu = op->dev.archdata.iommu; in sysio_ue_handler() local 349 struct iommu *iommu = op->dev.archdata.iommu; in sysio_ce_handler() local 428 struct iommu *iommu = op->dev.archdata.iommu; in sysio_sbus_error_handler() local 497 struct iommu *iommu = op->dev.archdata.iommu; in sysio_register_error_handlers() local 545 struct iommu *iommu; in sbus_iommu_init() local
|
| H A D | pci_sun4v.c | 78 static inline bool iommu_use_atu(struct iommu *iommu, u64 mask) in iommu_use_atu() 188 struct iommu *iommu; in dma_4v_alloc_coherent() local 327 struct iommu *iommu; in dma_4v_free_coherent() local 359 struct iommu *iommu; in dma_4v_map_phys() local 443 struct iommu *iommu; in dma_4v_unmap_phys() local 488 struct iommu *iommu; in dma_4v_map_sg() local 639 struct iommu *iommu; in dma_4v_unmap_sg() local 686 struct iommu *iommu = dev->archdata.iommu; in dma_4v_supported() local 719 struct iommu_map_table *iommu) in probe_existing_entries() 878 struct iommu *iommu = pbm->iommu; in pci_sun4v_iommu_init() local [all …]
|
| /linux/drivers/gpu/drm/msm/ |
| H A D | msm_iommu.c | 138 struct msm_iommu *iommu = to_msm_iommu(pagetable->parent); in msm_iommu_pagetable_map_prr() local 224 struct msm_iommu *iommu = to_msm_iommu(pagetable->parent); in msm_iommu_pagetable_destroy() local 269 struct msm_iommu *iommu = to_msm_iommu(mmu); in msm_iommu_get_geometry() local 507 struct msm_iommu *iommu = to_msm_iommu(parent); in msm_iommu_pagetable_create() local 632 struct msm_iommu *iommu = arg; in msm_gpu_fault_handler() local 652 struct msm_iommu *iommu = arg; in msm_disp_fault_handler() local 670 struct msm_iommu *iommu = to_msm_iommu(mmu); in msm_iommu_detach() local 679 struct msm_iommu *iommu = to_msm_iommu(mmu); in msm_iommu_map() local 696 struct msm_iommu *iommu = to_msm_iommu(mmu); in msm_iommu_unmap() local 708 struct msm_iommu *iommu = to_msm_iommu(mmu); in msm_iommu_destroy() local [all …]
|
| /linux/tools/testing/selftests/vfio/ |
| H A D | vfio_pci_driver_test.c | 21 static void region_setup(struct iommu *iommu, in region_setup() 39 static void region_teardown(struct iommu *iommu, struct dma_region *region) in region_teardown() 46 struct iommu *iommu; in FIXTURE() local 239 struct iommu *iommu; in device_has_selftests_driver() local
|
| /linux/arch/sparc/mm/ |
| H A D | iommu.c | 60 struct iommu_struct *iommu; in sbus_iommu_init() local 187 struct iommu_struct *iommu = dev->archdata.iommu; in __sbus_iommu_map_phys() local 285 struct iommu_struct *iommu = dev->archdata.iommu; in sbus_iommu_unmap_phys() local 318 struct iommu_struct *iommu = dev->archdata.iommu; in sbus_iommu_alloc() local 400 struct iommu_struct *iommu = dev->archdata.iommu; in sbus_iommu_free() local
|
| /linux/arch/x86/events/amd/ |
| H A D | iommu.c | 40 struct amd_iommu *iommu; member 241 struct amd_iommu *iommu = perf_event_2_iommu(ev); in perf_iommu_enable_event() local 271 struct amd_iommu *iommu = perf_event_2_iommu(event); in perf_iommu_disable_event() local 298 struct amd_iommu *iommu = perf_event_2_iommu(event); in perf_iommu_start() local 315 struct amd_iommu *iommu = perf_event_2_iommu(event); in perf_iommu_read() local
|