On Tue, 2010-10-26 at 20:35 -0700, Nishanth Aravamudan wrote: > The iommu_table pointer in the pci auxiliary struct of device_node has > not been used by the iommu ops since the dma refactor of > 12d04eef927bf61328af2c7cbe756c96f98ac3bf, however this code still uses > it to find tables for dlpar. By only setting the PCI_DN iommu_table > pointer on nodes with dma window properties, we will be able to quickly > find the node for later checks, and can remove the table without looking > for the the dma window property on dlpar remove.
The answer might well be yes but are we sure this works with busses & devices that don't have a dma,window ? ie. we always properly look for parents when assigning pci devices arch_data iommu table ? Did you test it ? :-) (Best way is to find a card with a P2P bridge on it). Cheers, Ben. > Signed-off-by: Milton Miller <milt...@bga.com> > Signed-off-by: Nishanth Aravamudan <n...@us.ibm.com> > --- > arch/powerpc/platforms/pseries/iommu.c | 6 +----- > 1 files changed, 1 insertions(+), 5 deletions(-) > > diff --git a/arch/powerpc/platforms/pseries/iommu.c > b/arch/powerpc/platforms/pseries/iommu.c > index 9184db3..8ab32da 100644 > --- a/arch/powerpc/platforms/pseries/iommu.c > +++ b/arch/powerpc/platforms/pseries/iommu.c > @@ -455,9 +455,6 @@ static void pci_dma_bus_setup_pSeriesLP(struct pci_bus > *bus) > ppci->iommu_table = iommu_init_table(tbl, ppci->phb->node); > pr_debug(" created table: %p\n", ppci->iommu_table); > } > - > - if (pdn != dn) > - PCI_DN(dn)->iommu_table = ppci->iommu_table; > } > > @@ -571,8 +568,7 @@ static int iommu_reconfig_notifier(struct notifier_block > *nb, unsigned long acti > > switch (action) { > case PSERIES_RECONFIG_REMOVE: > - if (pci && pci->iommu_table && > - of_get_property(np, "ibm,dma-window", NULL)) > + if (pci && pci->iommu_table) > iommu_free_table(pci->iommu_table, np->full_name); > break; > default: _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev