summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms/pseries/iommu.c
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt2011-11-06 19:55:59 +0100
committerBenjamin Herrenschmidt2011-11-25 04:32:57 +0100
commit1f1616e864972fc82e1a144c7d23622d2aa2c6f2 (patch)
tree8e0439953be68803a6fc86384e7031212f5b1170 /arch/powerpc/platforms/pseries/iommu.c
parentpowerpc/pci: Change how re-assigning resouces work (diff)
downloadkernel-qcow2-linux-1f1616e864972fc82e1a144c7d23622d2aa2c6f2.tar.gz
kernel-qcow2-linux-1f1616e864972fc82e1a144c7d23622d2aa2c6f2.tar.xz
kernel-qcow2-linux-1f1616e864972fc82e1a144c7d23622d2aa2c6f2.zip
powerpc/powernv: Add TCE SW invalidation support
This is used for newer IO Hubs such as p7IOC. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/platforms/pseries/iommu.c')
-rw-r--r--arch/powerpc/platforms/pseries/iommu.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/powerpc/platforms/pseries/iommu.c b/arch/powerpc/platforms/pseries/iommu.c
index ea70667d4fc3..c442f2b1980f 100644
--- a/arch/powerpc/platforms/pseries/iommu.c
+++ b/arch/powerpc/platforms/pseries/iommu.c
@@ -106,7 +106,7 @@ static int tce_build_pSeries(struct iommu_table *tbl, long index,
tcep++;
}
- if (tbl->it_type == TCE_PCI_SW_INVAL)
+ if (tbl->it_type == TCE_PCI_SWINV_CREATE)
tce_invalidate_pSeries_sw(tbl, tces, tcep - 1);
return 0;
}
@@ -121,7 +121,7 @@ static void tce_free_pSeries(struct iommu_table *tbl, long index, long npages)
while (npages--)
*(tcep++) = 0;
- if (tbl->it_type == TCE_PCI_SW_INVAL)
+ if (tbl->it_type == TCE_PCI_SWINV_FREE)
tce_invalidate_pSeries_sw(tbl, tces, tcep - 1);
}
@@ -511,7 +511,7 @@ static void iommu_table_setparms(struct pci_controller *phb,
*/
tbl->it_index = (unsigned long) ioremap(sw_inval[0], 8);
tbl->it_busno = sw_inval[1]; /* overload this with magic */
- tbl->it_type = TCE_PCI_SW_INVAL;
+ tbl->it_type = TCE_PCI_SWINV_CREATE | TCE_PCI_SWINV_FREE;
}
}