/linux/drivers/vfio/ |
H A D | vfio_iommu_spapr_tce.c | 242 struct iommu_table_group *table_group; in tce_iommu_enable() local 282 table_group = iommu_group_get_iommudata(tcegrp->grp); in tce_iommu_enable() 283 if (!table_group) in tce_iommu_enable() 286 if (!table_group->tce32_size) in tce_iommu_enable() 293 locked = table_group->tce32_size >> PAGE_SHIFT; in tce_iommu_enable() 607 struct iommu_table_group *table_group, in tce_iommu_create_table() argument 616 table_size = table_group->ops->get_table_size(page_shift, window_size, in tce_iommu_create_table() 625 ret = table_group->ops->create_table(table_group, num, in tce_iommu_create_table() 648 struct iommu_table_group *table_group; in tce_iommu_create_window() local 711 struct iommu_table_group *table_group = NULL; tce_iommu_remove_window() local 753 struct iommu_table_group *table_group; tce_iommu_create_default_window() local 860 struct iommu_table_group *table_group; tce_iommu_ioctl() local 1191 tce_iommu_release_ownership(struct tce_container * container,struct iommu_table_group * table_group) tce_iommu_release_ownership() argument 1211 tce_iommu_take_ownership(struct tce_container * container,struct iommu_table_group * table_group) tce_iommu_take_ownership() argument 1241 struct iommu_table_group *table_group; tce_iommu_attach_group() local 1321 struct iommu_table_group *table_group; tce_iommu_detach_group() local [all...] |
/linux/arch/powerpc/platforms/pseries/ |
H A D | iommu.c | 78 struct iommu_table_group *table_group; in iommu_pseries_alloc_group() local 80 table_group = kzalloc_node(sizeof(*table_group), GFP_KERNEL, node); in iommu_pseries_alloc_group() 81 if (!table_group) in iommu_pseries_alloc_group() 85 table_group->ops = &spapr_tce_table_group_ops; in iommu_pseries_alloc_group() 86 table_group->pgsizes = SZ_4K; in iommu_pseries_alloc_group() 89 table_group->tables[0] = iommu_pseries_alloc_table(node); in iommu_pseries_alloc_group() 90 if (table_group->tables[0]) in iommu_pseries_alloc_group() 91 return table_group; in iommu_pseries_alloc_group() 93 kfree(table_group); in iommu_pseries_alloc_group() 97 iommu_pseries_free_group(struct iommu_table_group * table_group,const char * node_name) iommu_pseries_free_group() argument 752 pci_dma_find_parent_node(struct pci_dev * dev,struct iommu_table_group * table_group) pci_dma_find_parent_node() argument 1806 struct iommu_table_group *table_group = PCI_DN(pdn)->table_group; spapr_tce_init_table_group() local 2004 pseries_setup_default_iommu_config(struct iommu_table_group * table_group,struct device * dev) pseries_setup_default_iommu_config() argument 2048 is_default_window_request(struct iommu_table_group * table_group,__u32 page_shift,__u64 window_size) is_default_window_request() argument 2058 spapr_tce_create_table(struct iommu_table_group * table_group,int num,__u32 page_shift,__u64 window_size,__u32 levels,struct iommu_table ** ptbl) spapr_tce_create_table() argument 2260 is_default_window_table(struct iommu_table_group * table_group,struct iommu_table * tbl) is_default_window_table() argument 2269 spapr_tce_set_window(struct iommu_table_group * table_group,int num,struct iommu_table * tbl) spapr_tce_set_window() argument 2275 spapr_tce_unset_window(struct iommu_table_group * table_group,int num) spapr_tce_unset_window() argument 2339 spapr_tce_take_ownership(struct iommu_table_group * table_group,struct device * dev) spapr_tce_take_ownership() argument 2391 spapr_tce_release_ownership(struct iommu_table_group * table_group,struct device * dev) spapr_tce_release_ownership() argument [all...] |
/linux/arch/powerpc/include/asm/ |
H A D | iommu.h | 174 long (*create_table)(struct iommu_table_group *table_group, 180 long (*set_window)(struct iommu_table_group *table_group, 183 long (*unset_window)(struct iommu_table_group *table_group, 186 long (*take_ownership)(struct iommu_table_group *table_group, struct device *dev); 188 void (*release_ownership)(struct iommu_table_group *table_group, struct device *dev); 194 struct iommu_table_group *table_group; member 212 extern void iommu_register_group(struct iommu_table_group *table_group, 214 extern int iommu_add_device(struct iommu_table_group *table_group, 228 static inline void iommu_register_group(struct iommu_table_group *table_group, in iommu_register_group() argument 234 static inline int iommu_add_device(struct iommu_table_group *table_group, in iommu_add_device() argument [all...] |
H A D | pci-bridge.h | 213 struct iommu_table_group *table_group; /* for phb's or bridges */ member
|
/linux/arch/powerpc/platforms/powernv/ |
H A D | pci-ioda-tce.c | 371 struct iommu_table_group *table_group) in pnv_pci_unlink_table_and_group() argument 377 if (!tbl || !table_group) in pnv_pci_unlink_table_and_group() 385 if (tgl->table_group == table_group) { in pnv_pci_unlink_table_and_group() 400 if (table_group->tables[i] == tbl) { in pnv_pci_unlink_table_and_group() 402 table_group->tables[i] = NULL; in pnv_pci_unlink_table_and_group() 412 struct iommu_table_group *table_group) in pnv_pci_link_table_and_group() argument 416 if (WARN_ON(!tbl || !table_group)) in pnv_pci_link_table_and_group() 424 tgl->table_group = table_group; in pnv_pci_link_table_and_group() [all...] |
H A D | pci.h | 79 struct iommu_table_group table_group; member 318 struct iommu_table_group *table_group); 320 struct iommu_table_group *table_group);
|
/linux/arch/powerpc/kernel/ |
H A D | iommu.c | 1014 struct iommu_table_group *table_group = iommu_data; in group_release() local 1016 table_group->group = NULL; in group_release() 1019 void iommu_register_group(struct iommu_table_group *table_group, in iommu_register_group() argument 1031 table_group->group = grp; in iommu_register_group() 1032 iommu_group_set_iommudata(grp, table_group, group_release); in iommu_register_group() 1123 int iommu_add_device(struct iommu_table_group *table_group, struct device *dev) in iommu_add_device() argument 1141 __func__, dev_name(dev), iommu_group_id(table_group->group)); in iommu_add_device() 1162 struct iommu_table_group *table_group; in spapr_tce_platform_iommu_attach_dev() local 1170 table_group = iommu_group_get_iommudata(grp); in spapr_tce_platform_iommu_attach_dev() 1173 * BLOCKED. The table_group ownershi in spapr_tce_platform_iommu_attach_dev() 1195 struct iommu_table_group *table_group; spapr_tce_blocked_iommu_attach_dev() local [all...] |
/linux/arch/powerpc/kvm/ |
H A D | book3s_64_vio.c | 87 struct iommu_table_group *table_group = NULL; in kvm_spapr_tce_release_iommu_group() local 92 table_group = iommu_group_get_iommudata(grp); in kvm_spapr_tce_release_iommu_group() 93 if (WARN_ON(!table_group)) in kvm_spapr_tce_release_iommu_group() 98 if (table_group->tables[i] != stit->tbl) in kvm_spapr_tce_release_iommu_group() 115 struct iommu_table_group *table_group; in kvm_spapr_tce_attach_iommu_group() local 135 table_group = iommu_group_get_iommudata(grp); in kvm_spapr_tce_attach_iommu_group() 136 if (WARN_ON(!table_group)) in kvm_spapr_tce_attach_iommu_group() 140 struct iommu_table *tbltmp = table_group->tables[i]; in kvm_spapr_tce_attach_iommu_group()
|