/linux-6.14.4/drivers/iommu/amd/ |
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() 49 void __init amd_iommu_free_ppr_log(struct amd_iommu *iommu) in amd_iommu_free_ppr_log() 58 void amd_iommu_restart_ppr_log(struct amd_iommu *iommu) in amd_iommu_restart_ppr_log() 81 static bool ppr_is_valid(struct amd_iommu *iommu, u64 *raw) in ppr_is_valid() 105 static void iommu_call_iopf_notifier(struct amd_iommu *iommu, u64 *raw) in iommu_call_iopf_notifier() 162 void amd_iommu_poll_ppr_log(struct amd_iommu *iommu) in amd_iommu_poll_ppr_log() 218 int amd_iommu_iopf_init(struct amd_iommu *iommu) in amd_iommu_iopf_init() 236 void amd_iommu_iopf_uninit(struct amd_iommu *iommu) in amd_iommu_iopf_uninit() 248 int amd_iommu_iopf_add_device(struct amd_iommu *iommu, in amd_iommu_iopf_add_device() [all …]
|
D | init.c | 229 bool translation_pre_enabled(struct amd_iommu *iommu) in translation_pre_enabled() 234 static void clear_translation_pre_enabled(struct amd_iommu *iommu) in clear_translation_pre_enabled() 239 static void init_translation_status(struct amd_iommu *iommu) in init_translation_status() 267 struct amd_iommu *iommu; in get_global_efr() local 302 static void __init early_iommu_features_init(struct amd_iommu *iommu, in early_iommu_features_init() 315 static u32 iommu_read_l1(struct amd_iommu *iommu, u16 l1, u8 address) in iommu_read_l1() 324 static void iommu_write_l1(struct amd_iommu *iommu, u16 l1, u8 address, u32 val) in iommu_write_l1() 331 static u32 iommu_read_l2(struct amd_iommu *iommu, u8 address) in iommu_read_l2() 340 static void iommu_write_l2(struct amd_iommu *iommu, u8 address, u32 val) in iommu_write_l2() 359 static void iommu_set_exclusion_range(struct amd_iommu *iommu) in iommu_set_exclusion_range() [all …]
|
D | iommu.c | 141 static void update_dte256(struct amd_iommu *iommu, struct iommu_dev_data *dev_data, in update_dte256() 207 static void get_dte256(struct amd_iommu *iommu, struct iommu_dev_data *dev_data, in get_dte256() 274 struct dev_table_entry *get_dev_table(struct amd_iommu *iommu) in get_dev_table() 304 void amd_iommu_set_rlookup_table(struct amd_iommu *iommu, u16 devid) in amd_iommu_set_rlookup_table() 332 static struct iommu_dev_data *alloc_dev_data(struct amd_iommu *iommu, u16 devid) in alloc_dev_data() 350 struct iommu_dev_data *search_dev_data(struct amd_iommu *iommu, u16 devid) in search_dev_data() 371 struct amd_iommu *iommu; in clone_alias() local 406 static void clone_aliases(struct amd_iommu *iommu, struct device *dev) in clone_aliases() 424 static void setup_aliases(struct amd_iommu *iommu, struct device *dev) in setup_aliases() 446 static struct iommu_dev_data *find_dev_data(struct amd_iommu *iommu, u16 devid) in find_dev_data() [all …]
|
/linux-6.14.4/arch/sparc/include/asm/ |
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-6.14.4/drivers/iommu/intel/ |
D | iommu.c | 129 struct device *device_rbtree_find(struct intel_iommu *iommu, u16 rid) in device_rbtree_find() 144 static int device_rbtree_insert(struct intel_iommu *iommu, in device_rbtree_insert() 161 struct intel_iommu *iommu = info->iommu; in device_rbtree_remove() local 190 struct intel_iommu *iommu; /* the corresponding iommu */ member 220 static bool translation_pre_enabled(struct intel_iommu *iommu) in translation_pre_enabled() 225 static void clear_translation_pre_enabled(struct intel_iommu *iommu) in clear_translation_pre_enabled() 230 static void init_translation_status(struct intel_iommu *iommu) in init_translation_status() 298 static unsigned long __iommu_calculate_sagaw(struct intel_iommu *iommu) in __iommu_calculate_sagaw() 316 static int __iommu_calculate_agaw(struct intel_iommu *iommu, int max_gaw) in __iommu_calculate_agaw() 333 int iommu_calculate_max_sagaw(struct intel_iommu *iommu) in iommu_calculate_max_sagaw() [all …]
|
D | pasid.c | 195 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() 296 static void pasid_flush_caches(struct intel_iommu *iommu, in pasid_flush_caches() 319 static void intel_pasid_flush_present(struct intel_iommu *iommu, in intel_pasid_flush_present() 348 static void pasid_pte_config_first_level(struct intel_iommu *iommu, in pasid_pte_config_first_level() 374 int intel_pasid_setup_first_level(struct intel_iommu *iommu, in intel_pasid_setup_first_level() 413 int intel_pasid_replace_first_level(struct intel_iommu *iommu, in intel_pasid_replace_first_level() 460 static void pasid_pte_config_second_level(struct intel_iommu *iommu, in pasid_pte_config_second_level() 480 int intel_pasid_setup_second_level(struct intel_iommu *iommu, in intel_pasid_setup_second_level() [all …]
|
D | irq_remapping.c | 29 struct intel_iommu *iommu; member 36 struct intel_iommu *iommu; member 43 struct intel_iommu *iommu; member 84 static bool ir_pre_enabled(struct intel_iommu *iommu) in ir_pre_enabled() 89 static void clear_ir_pre_enabled(struct intel_iommu *iommu) in clear_ir_pre_enabled() 94 static void init_ir_status(struct intel_iommu *iommu) in init_ir_status() 103 static int alloc_irte(struct intel_iommu *iommu, in alloc_irte() 142 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 227 struct intel_iommu *iommu; in clear_entries() local [all …]
|
D | cache.c | 24 struct intel_iommu *iommu, struct device *dev, in cache_tage_match() 48 struct intel_iommu *iommu = info->iommu; in cache_tag_assign() local 99 struct intel_iommu *iommu = info->iommu; in cache_tag_unassign() local 203 struct intel_iommu *iommu = info->iommu; in domain_get_id_for_dev() local 294 static void qi_batch_flush_descs(struct intel_iommu *iommu, struct qi_batch *batch) in qi_batch_flush_descs() 305 static void qi_batch_increment_index(struct intel_iommu *iommu, struct qi_batch *batch) in qi_batch_increment_index() 311 static void qi_batch_add_iotlb(struct intel_iommu *iommu, u16 did, u64 addr, in qi_batch_add_iotlb() 319 static void qi_batch_add_dev_iotlb(struct intel_iommu *iommu, u16 sid, u16 pfsid, in qi_batch_add_dev_iotlb() 334 static void qi_batch_add_piotlb(struct intel_iommu *iommu, u16 did, u32 pasid, in qi_batch_add_piotlb() 350 static void qi_batch_add_pasid_dev_iotlb(struct intel_iommu *iommu, u16 sid, u16 pfsid, in qi_batch_add_pasid_dev_iotlb() [all …]
|
D | perfmon.c | 327 struct intel_iommu *iommu = iommu_pmu->iommu; in iommu_pmu_start() local 364 struct intel_iommu *iommu = iommu_pmu->iommu; in iommu_pmu_stop() local 476 struct intel_iommu *iommu = iommu_pmu->iommu; in iommu_pmu_enable() local 484 struct intel_iommu *iommu = iommu_pmu->iommu; in iommu_pmu_disable() local 519 struct intel_iommu *iommu = dev_id; in iommu_pmu_irq_handler() local 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 …]
|
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 int dmar_latency_snapshot(struct intel_iommu *iommu, char *str, size_t size) in dmar_latency_snapshot()
|
D | debugfs.c | 116 struct intel_iommu *iommu; in iommu_regset_show() local 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() local 353 struct intel_iommu *iommu; in domain_translation_struct_show() local 483 struct intel_iommu *iommu) in invalidation_queue_entry_show() 512 struct intel_iommu *iommu; in invalidation_queue_show() local 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() local [all …]
|
D | dmar.c | 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() local 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() 1526 void qi_flush_iotlb(struct intel_iommu *iommu, u16 did, u64 addr, in qi_flush_iotlb() [all …]
|
D | perf.h | 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()
|
D | prq.c | 64 struct intel_iommu *iommu; in intel_iommu_drain_pasid_prq() local 137 static void handle_bad_prq_event(struct intel_iommu *iommu, in handle_bad_prq_event() 176 static void intel_prq_report(struct intel_iommu *iommu, struct device *dev, in intel_prq_report() 200 struct intel_iommu *iommu = d; in prq_event_thread() local 288 int intel_iommu_enable_prq(struct intel_iommu *iommu) in intel_iommu_enable_prq() 349 int intel_iommu_finish_prq(struct intel_iommu *iommu) in intel_iommu_finish_prq() 376 struct intel_iommu *iommu = info->iommu; in intel_iommu_page_response() local
|
/linux-6.14.4/drivers/iommu/ |
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 …]
|
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 398 struct msm_iommu_dev *iommu; in msm_iommu_attach_dev() local 449 struct msm_iommu_dev *iommu; in msm_iommu_identity_attach() local 529 struct msm_iommu_dev *iommu; in msm_iommu_iova_to_phys() local [all …]
|
D | rockchip-iommu.c | 116 struct iommu_device iommu; member 123 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 …]
|
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-6.14.4/arch/sparc/kernel/ |
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 268 struct iommu *iommu; in dma_4u_map_page() local [all …]
|
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()
|
/linux-6.14.4/drivers/iommu/riscv/ |
D | iommu.c | 69 static void *riscv_iommu_get_pages(struct riscv_iommu_device *iommu, int order) in riscv_iommu_get_pages() 95 static void riscv_iommu_free_pages(struct riscv_iommu_device *iommu, void *addr) in riscv_iommu_free_pages() 130 static int riscv_iommu_queue_alloc(struct riscv_iommu_device *iommu, in riscv_iommu_queue_alloc() 207 static int riscv_iommu_queue_vec(struct riscv_iommu_device *iommu, int n) in riscv_iommu_queue_vec() 219 static int riscv_iommu_queue_enable(struct riscv_iommu_device *iommu, in riscv_iommu_queue_enable() 287 struct riscv_iommu_device *iommu = queue->iommu; in riscv_iommu_queue_disable() local 485 static void riscv_iommu_cmd_send(struct riscv_iommu_device *iommu, in riscv_iommu_cmd_send() 492 static void riscv_iommu_cmd_sync(struct riscv_iommu_device *iommu, in riscv_iommu_cmd_sync() 513 static void riscv_iommu_fault(struct riscv_iommu_device *iommu, in riscv_iommu_fault() 530 struct riscv_iommu_device *iommu = queue->iommu; in riscv_iommu_fltq_process() local [all …]
|
D | iommu.h | 28 struct riscv_iommu_device *iommu; /* iommu device handling the queue when active */ member 38 struct iommu_device iommu; member 69 #define riscv_iommu_readl(iommu, addr) \ argument 72 #define riscv_iommu_readq(iommu, addr) \ argument 75 #define riscv_iommu_writel(iommu, addr, val) \ argument 78 #define riscv_iommu_writeq(iommu, addr, val) \ argument 81 #define riscv_iommu_readq_timeout(iommu, addr, val, cond, delay_us, timeout_us) \ argument 85 #define riscv_iommu_readl_timeout(iommu, addr, val, cond, delay_us, timeout_us) \ argument
|
/linux-6.14.4/drivers/vfio/ |
D | vfio_iommu_type1.c | 164 static struct vfio_dma *vfio_find_dma(struct vfio_iommu *iommu, in vfio_find_dma() 183 static struct rb_node *vfio_find_dma_first_node(struct vfio_iommu *iommu, in vfio_find_dma_first_node() 208 static void vfio_link_dma(struct vfio_iommu *iommu, struct vfio_dma *new) in vfio_link_dma() 227 static void vfio_unlink_dma(struct vfio_iommu *iommu, struct vfio_dma *old) in vfio_unlink_dma() 271 static void vfio_iommu_populate_bitmap_full(struct vfio_iommu *iommu) in vfio_iommu_populate_bitmap_full() 283 static int vfio_dma_bitmap_alloc_all(struct vfio_iommu *iommu, size_t pgsize) in vfio_dma_bitmap_alloc_all() 308 static void vfio_dma_bitmap_free_all(struct vfio_iommu *iommu) in vfio_dma_bitmap_free_all() 785 struct vfio_iommu *iommu = iommu_data; in vfio_iommu_type1_pin_pages() local 902 struct vfio_iommu *iommu = iommu_data; in vfio_iommu_type1_unpin_pages() local 1020 static long vfio_unmap_unpin(struct vfio_iommu *iommu, struct vfio_dma *dma, in vfio_unmap_unpin() [all …]
|
/linux-6.14.4/drivers/gpu/drm/msm/ |
D | msm_iommu.c | 157 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 443 struct msm_iommu *iommu; in msm_iommu_gpu_new() local
|
/linux-6.14.4/arch/powerpc/platforms/cell/ |
D | iommu.c | 104 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() 447 cell_iommu_setup_window(struct cbe_iommu *iommu, struct device_node *np, in cell_iommu_setup_window() 528 struct cbe_iommu *iommu; in cell_get_iommu_table() local 605 struct cbe_iommu *iommu; in cell_iommu_alloc() local [all …]
|