aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc
diff options
context:
space:
mode:
authorNishanth Aravamudan <nacc@us.ibm.com>2010-10-26 13:35:13 -0400
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2010-12-08 23:17:50 -0500
commit7372cfb88f71ed975c8588d1ca5ecc8bb9ec7c7b (patch)
treee289a3bd72bd57d8a89a3853a928b880acb415c3 /arch/powerpc
parentb3c73856ae47d43d0d181f9de1c1c6c0820c4515 (diff)
powerpc/pseries: Do not search for dma-window property on dlpar remove
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. Signed-off-by: Milton Miller <miltonm@bga.com> Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/platforms/pseries/iommu.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/arch/powerpc/platforms/pseries/iommu.c b/arch/powerpc/platforms/pseries/iommu.c
index 9fecb313a4c9..0dbadbb34f3a 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)
455 ppci->iommu_table = iommu_init_table(tbl, ppci->phb->node); 455 ppci->iommu_table = iommu_init_table(tbl, ppci->phb->node);
456 pr_debug(" created table: %p\n", ppci->iommu_table); 456 pr_debug(" created table: %p\n", ppci->iommu_table);
457 } 457 }
458
459 if (pdn != dn)
460 PCI_DN(dn)->iommu_table = ppci->iommu_table;
461} 458}
462 459
463 460
@@ -571,8 +568,7 @@ static int iommu_reconfig_notifier(struct notifier_block *nb, unsigned long acti
571 568
572 switch (action) { 569 switch (action) {
573 case PSERIES_RECONFIG_REMOVE: 570 case PSERIES_RECONFIG_REMOVE:
574 if (pci && pci->iommu_table && 571 if (pci && pci->iommu_table)
575 of_get_property(np, "ibm,dma-window", NULL))
576 iommu_free_table(pci->iommu_table, np->full_name); 572 iommu_free_table(pci->iommu_table, np->full_name);
577 break; 573 break;
578 default: 574 default: