/arch/powerpc/platforms/powernv/ |
D | npu-dma.c | 124 static long pnv_npu_unset_window(struct iommu_table_group *table_group, 127 static long pnv_npu_set_window(struct iommu_table_group *table_group, int num, in pnv_npu_set_window() argument 130 struct pnv_ioda_pe *npe = container_of(table_group, struct pnv_ioda_pe, in pnv_npu_set_window() 131 table_group); in pnv_npu_set_window() 141 if (npe->table_group.tables[num2]) in pnv_npu_set_window() 142 pnv_npu_unset_window(&npe->table_group, num2); in pnv_npu_set_window() 163 tbl, &npe->table_group); in pnv_npu_set_window() 168 static long pnv_npu_unset_window(struct iommu_table_group *table_group, int num) in pnv_npu_unset_window() argument 170 struct pnv_ioda_pe *npe = container_of(table_group, struct pnv_ioda_pe, in pnv_npu_unset_window() 171 table_group); in pnv_npu_unset_window() [all …]
|
D | pci-ioda-tce.c | 352 struct iommu_table_group *table_group) in pnv_pci_unlink_table_and_group() argument 358 if (!tbl || !table_group) in pnv_pci_unlink_table_and_group() 364 if (tgl->table_group == table_group) { in pnv_pci_unlink_table_and_group() 377 if (table_group->tables[i] == tbl) { in pnv_pci_unlink_table_and_group() 379 table_group->tables[i] = NULL; in pnv_pci_unlink_table_and_group() 389 struct iommu_table_group *table_group) in pnv_pci_link_table_and_group() argument 393 if (WARN_ON(!tbl || !table_group)) in pnv_pci_link_table_and_group() 401 tgl->table_group = table_group; in pnv_pci_link_table_and_group() 404 table_group->tables[num] = iommu_tce_table_get(tbl); in pnv_pci_link_table_and_group()
|
D | pci-ioda.c | 1439 static long pnv_pci_ioda2_unset_window(struct iommu_table_group *table_group, 1447 tbl = pe->table_group.tables[0]; in pnv_pci_ioda2_release_dma_pe() 1448 rc = pnv_pci_ioda2_unset_window(&pe->table_group, 0); in pnv_pci_ioda2_release_dma_pe() 1453 if (pe->table_group.group) { in pnv_pci_ioda2_release_dma_pe() 1454 iommu_group_put(pe->table_group.group); in pnv_pci_ioda2_release_dma_pe() 1455 BUG_ON(pe->table_group.group); in pnv_pci_ioda2_release_dma_pe() 1538 struct iommu_table_group *table_group, struct pci_bus *bus); 1606 iommu_register_group(&pe->table_group, in pnv_ioda_setup_vf_PE() 1608 pnv_ioda_setup_bus_iommu_group(pe, &pe->table_group, NULL); in pnv_ioda_setup_vf_PE() 1762 set_iommu_table_base(&pdev->dev, pe->table_group.tables[0]); in pnv_pci_ioda_dma_dev_setup() [all …]
|
D | pci.h | 65 struct iommu_table_group table_group; member 243 struct iommu_table_group *table_group); 245 struct iommu_table_group *table_group);
|
D | pci.c | 1001 if (!pe->table_group.group) in pnv_tce_iommu_bus_notifier() 1003 iommu_add_device(&pe->table_group, dev); in pnv_tce_iommu_bus_notifier()
|
/arch/powerpc/platforms/pseries/ |
D | iommu.c | 44 struct iommu_table_group *table_group; in iommu_pseries_alloc_group() local 47 table_group = kzalloc_node(sizeof(struct iommu_table_group), GFP_KERNEL, in iommu_pseries_alloc_group() 49 if (!table_group) in iommu_pseries_alloc_group() 59 table_group->tables[0] = tbl; in iommu_pseries_alloc_group() 61 return table_group; in iommu_pseries_alloc_group() 64 kfree(table_group); in iommu_pseries_alloc_group() 68 static void iommu_pseries_free_group(struct iommu_table_group *table_group, in iommu_pseries_free_group() argument 73 if (!table_group) in iommu_pseries_free_group() 76 tbl = table_group->tables[0]; in iommu_pseries_free_group() 78 if (table_group->group) { in iommu_pseries_free_group() [all …]
|
/arch/powerpc/include/asm/ |
D | iommu.h | 167 long (*create_table)(struct iommu_table_group *table_group, 173 long (*set_window)(struct iommu_table_group *table_group, 176 long (*unset_window)(struct iommu_table_group *table_group, 179 void (*take_ownership)(struct iommu_table_group *table_group); 181 void (*release_ownership)(struct iommu_table_group *table_group); 187 struct iommu_table_group *table_group; member 205 extern void iommu_register_group(struct iommu_table_group *table_group, 207 extern int iommu_add_device(struct iommu_table_group *table_group, 220 static inline void iommu_register_group(struct iommu_table_group *table_group, in iommu_register_group() argument 226 static inline int iommu_add_device(struct iommu_table_group *table_group, in iommu_add_device() argument
|
D | pci-bridge.h | 196 struct iommu_table_group *table_group; /* for phb's or bridges */ member
|
/arch/powerpc/kvm/ |
D | book3s_64_vio.c | 75 struct iommu_table_group *table_group = NULL; in kvm_spapr_tce_release_iommu_group() local 80 table_group = iommu_group_get_iommudata(grp); in kvm_spapr_tce_release_iommu_group() 81 if (WARN_ON(!table_group)) in kvm_spapr_tce_release_iommu_group() 86 if (table_group->tables[i] != stit->tbl) in kvm_spapr_tce_release_iommu_group() 103 struct iommu_table_group *table_group; in kvm_spapr_tce_attach_iommu_group() local 126 table_group = iommu_group_get_iommudata(grp); in kvm_spapr_tce_attach_iommu_group() 127 if (WARN_ON(!table_group)) in kvm_spapr_tce_attach_iommu_group() 131 struct iommu_table *tbltmp = table_group->tables[i]; in kvm_spapr_tce_attach_iommu_group()
|
/arch/powerpc/kernel/ |
D | iommu.c | 945 struct iommu_table_group *table_group = iommu_data; in group_release() local 947 table_group->group = NULL; in group_release() 950 void iommu_register_group(struct iommu_table_group *table_group, in iommu_register_group() argument 962 table_group->group = grp; in iommu_register_group() 963 iommu_group_set_iommudata(grp, table_group, group_release); in iommu_register_group() 1112 int iommu_add_device(struct iommu_table_group *table_group, struct device *dev) in iommu_add_device() argument 1130 __func__, dev_name(dev), iommu_group_id(table_group->group)); in iommu_add_device() 1132 return iommu_group_add_device(table_group->group, dev); in iommu_add_device()
|