aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms/iseries/iommu.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/platforms/iseries/iommu.c')
-rw-r--r--arch/powerpc/platforms/iseries/iommu.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/arch/powerpc/platforms/iseries/iommu.c b/arch/powerpc/platforms/iseries/iommu.c
index e6f4a4ab57b..533d9b46740 100644
--- a/arch/powerpc/platforms/iseries/iommu.c
+++ b/arch/powerpc/platforms/iseries/iommu.c
@@ -31,10 +31,9 @@
31#include <asm/tce.h> 31#include <asm/tce.h>
32#include <asm/machdep.h> 32#include <asm/machdep.h>
33#include <asm/abs_addr.h> 33#include <asm/abs_addr.h>
34#include <asm/pci-bridge.h>
34#include <asm/iSeries/HvCallXm.h> 35#include <asm/iSeries/HvCallXm.h>
35 36
36#include "pci.h"
37
38extern struct list_head iSeries_Global_Device_List; 37extern struct list_head iSeries_Global_Device_List;
39 38
40 39
@@ -114,7 +113,7 @@ static struct iommu_table *iommu_table_find(struct iommu_table * tbl)
114 * 2. TCE table per Bus. 113 * 2. TCE table per Bus.
115 * 3. TCE Table per IOA. 114 * 3. TCE Table per IOA.
116 */ 115 */
117static void iommu_table_getparms(struct device_node *dn, 116static void iommu_table_getparms(struct pci_dn *pdn,
118 struct iommu_table* tbl) 117 struct iommu_table* tbl)
119{ 118{
120 struct iommu_table_cb *parms; 119 struct iommu_table_cb *parms;
@@ -125,8 +124,8 @@ static void iommu_table_getparms(struct device_node *dn,
125 124
126 memset(parms, 0, sizeof(*parms)); 125 memset(parms, 0, sizeof(*parms));
127 126
128 parms->itc_busno = ISERIES_BUS(dn); 127 parms->itc_busno = pdn->DsaAddr.Dsa.busNumber;
129 parms->itc_slotno = PCI_DN(dn)->LogicalSlot; 128 parms->itc_slotno = pdn->LogicalSlot;
130 parms->itc_virtbus = 0; 129 parms->itc_virtbus = 0;
131 130
132 HvCallXm_getTceTableParms(iseries_hv_addr(parms)); 131 HvCallXm_getTceTableParms(iseries_hv_addr(parms));
@@ -153,7 +152,7 @@ void iommu_devnode_init_iSeries(struct device_node *dn)
153 152
154 tbl = kmalloc(sizeof(struct iommu_table), GFP_KERNEL); 153 tbl = kmalloc(sizeof(struct iommu_table), GFP_KERNEL);
155 154
156 iommu_table_getparms(dn, tbl); 155 iommu_table_getparms(pdn, tbl);
157 156
158 /* Look for existing tce table */ 157 /* Look for existing tce table */
159 pdn->iommu_table = iommu_table_find(tbl); 158 pdn->iommu_table = iommu_table_find(tbl);