Home
last modified time | relevance | path

Searched refs:table_group (Results 1 – 9 of 9) sorted by relevance

/linux-4.4.14/drivers/vfio/
Dvfio_iommu_spapr_tce.c230 struct iommu_table_group *table_group; in tce_iommu_enable() local
273 table_group = iommu_group_get_iommudata(tcegrp->grp); in tce_iommu_enable()
274 if (!table_group) in tce_iommu_enable()
277 if (!table_group->tce32_size) in tce_iommu_enable()
280 locked = table_group->tce32_size >> PAGE_SHIFT; in tce_iommu_enable()
334 struct iommu_table_group *table_group; in tce_iommu_release() local
341 table_group = iommu_group_get_iommudata(tcegrp->grp); in tce_iommu_release()
563 struct iommu_table_group *table_group, in tce_iommu_create_table() argument
572 table_size = table_group->ops->get_table_size(page_shift, window_size, in tce_iommu_create_table()
581 ret = table_group->ops->create_table(table_group, num, in tce_iommu_create_table()
[all …]
/linux-4.4.14/arch/powerpc/platforms/pseries/
Diommu.c58 struct iommu_table_group *table_group = NULL; in iommu_pseries_alloc_group() local
62 table_group = kzalloc_node(sizeof(struct iommu_table_group), GFP_KERNEL, in iommu_pseries_alloc_group()
64 if (!table_group) in iommu_pseries_alloc_group()
77 tgl->table_group = table_group; in iommu_pseries_alloc_group()
80 table_group->tables[0] = tbl; in iommu_pseries_alloc_group()
82 return table_group; in iommu_pseries_alloc_group()
86 kfree(table_group); in iommu_pseries_alloc_group()
92 static void iommu_pseries_free_group(struct iommu_table_group *table_group, in iommu_pseries_free_group() argument
100 if (!table_group) in iommu_pseries_free_group()
103 tbl = table_group->tables[0]; in iommu_pseries_free_group()
[all …]
/linux-4.4.14/arch/powerpc/platforms/powernv/
Dpci-p5ioc2.c98 struct iommu_table *tbl = phb->p5ioc2.table_group.tables[0]; in pnv_pci_p5ioc2_dma_dev_setup()
103 iommu_register_group(&phb->p5ioc2.table_group, in pnv_pci_p5ioc2_dma_dev_setup()
107 tbl, &phb->p5ioc2.table_group); in pnv_pci_p5ioc2_dma_dev_setup()
130 struct iommu_table_group *table_group; in pnv_pci_init_p5ioc2_phb() local
206 tbl = phb->p5ioc2.table_group.tables[0] = &phb->p5ioc2.iommu_table; in pnv_pci_init_p5ioc2_phb()
207 table_group = &phb->p5ioc2.table_group; in pnv_pci_init_p5ioc2_phb()
208 table_group->tce32_start = tbl->it_offset << tbl->it_page_shift; in pnv_pci_init_p5ioc2_phb()
209 table_group->tce32_size = tbl->it_size << tbl->it_page_shift; in pnv_pci_init_p5ioc2_phb()
Dpci-ioda.c1261 static long pnv_pci_ioda2_unset_window(struct iommu_table_group *table_group,
1270 tbl = pe->table_group.tables[0]; in pnv_pci_ioda2_release_dma_pe()
1271 rc = pnv_pci_ioda2_unset_window(&pe->table_group, 0); in pnv_pci_ioda2_release_dma_pe()
1276 if (pe->table_group.group) { in pnv_pci_ioda2_release_dma_pe()
1277 iommu_group_put(pe->table_group.group); in pnv_pci_ioda2_release_dma_pe()
1278 BUG_ON(pe->table_group.group); in pnv_pci_ioda2_release_dma_pe()
1564 set_iommu_table_base(&pdev->dev, pe->table_group.tables[0]); in pnv_pci_ioda_dma_dev_setup()
1631 set_iommu_table_base(&dev->dev, pe->table_group.tables[0]); in pnv_ioda_setup_bus_dma()
1646 struct pnv_ioda_pe *pe = container_of(tgl->table_group, in pnv_pci_ioda1_tce_invalidate()
1647 struct pnv_ioda_pe, table_group); in pnv_pci_ioda1_tce_invalidate()
[all …]
Dpci.h60 struct iommu_table_group table_group; member
121 struct iommu_table_group table_group; member
223 struct iommu_table_group *table_group);
225 struct iommu_table_group *table_group);
Dpci.c667 struct iommu_table_group *table_group) in pnv_pci_link_table_and_group() argument
671 if (WARN_ON(!tbl || !table_group)) in pnv_pci_link_table_and_group()
679 tgl->table_group = table_group; in pnv_pci_link_table_and_group()
682 table_group->tables[num] = tbl; in pnv_pci_link_table_and_group()
696 struct iommu_table_group *table_group) in pnv_pci_unlink_table_and_group() argument
702 if (!tbl || !table_group) in pnv_pci_unlink_table_and_group()
708 if (tgl->table_group == table_group) { in pnv_pci_unlink_table_and_group()
721 if (table_group->tables[i] == tbl) { in pnv_pci_unlink_table_and_group()
722 table_group->tables[i] = NULL; in pnv_pci_unlink_table_and_group()
/linux-4.4.14/arch/powerpc/include/asm/
Diommu.h166 long (*create_table)(struct iommu_table_group *table_group,
172 long (*set_window)(struct iommu_table_group *table_group,
175 long (*unset_window)(struct iommu_table_group *table_group,
178 void (*take_ownership)(struct iommu_table_group *table_group);
180 void (*release_ownership)(struct iommu_table_group *table_group);
186 struct iommu_table_group *table_group; member
204 extern void iommu_register_group(struct iommu_table_group *table_group,
212 static inline void iommu_register_group(struct iommu_table_group *table_group, in iommu_register_group() argument
Dpci-bridge.h203 struct iommu_table_group *table_group; /* for phb's or bridges */ member
/linux-4.4.14/arch/powerpc/kernel/
Diommu.c892 struct iommu_table_group *table_group = iommu_data; in group_release() local
894 table_group->group = NULL; in group_release()
897 void iommu_register_group(struct iommu_table_group *table_group, in iommu_register_group() argument
909 table_group->group = grp; in iommu_register_group()
910 iommu_group_set_iommudata(grp, table_group, group_release); in iommu_register_group()
1101 iommu_group_id(tgl->table_group->group)); in iommu_add_device()
1110 return iommu_group_add_device(tgl->table_group->group, dev); in iommu_add_device()