Skip to content

Commit

Permalink
[POWERPC] pSeries: Remove dependency on pci_dn bussubno
Browse files Browse the repository at this point in the history
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
  • Loading branch information
Stephen Rothwell authored and Paul Mackerras committed Dec 11, 2007
1 parent 68d315f commit 96188ce
Showing 1 changed file with 7 additions and 17 deletions.
24 changes: 7 additions & 17 deletions arch/powerpc/platforms/pseries/iommu.c
Original file line number Diff line number Diff line change
Expand Up @@ -296,11 +296,12 @@ static void iommu_table_setparms(struct pci_controller *phb,
static void iommu_table_setparms_lpar(struct pci_controller *phb,
struct device_node *dn,
struct iommu_table *tbl,
const void *dma_window)
const void *dma_window,
int bussubno)
{
unsigned long offset, size;

tbl->it_busno = PCI_DN(dn)->bussubno;
tbl->it_busno = bussubno;
of_parse_dma_window(dn, dma_window, &tbl->it_index, &offset, &size);

tbl->it_base = 0;
Expand Down Expand Up @@ -420,17 +421,10 @@ static void pci_dma_bus_setup_pSeriesLP(struct pci_bus *bus)
pdn->full_name, ppci->iommu_table);

if (!ppci->iommu_table) {
/* Bussubno hasn't been copied yet.
* Do it now because iommu_table_setparms_lpar needs it.
*/

ppci->bussubno = bus->number;

tbl = kmalloc_node(sizeof(struct iommu_table), GFP_KERNEL,
ppci->phb->node);

iommu_table_setparms_lpar(ppci->phb, pdn, tbl, dma_window);

iommu_table_setparms_lpar(ppci->phb, pdn, tbl, dma_window,
bus->number);
ppci->iommu_table = iommu_init_table(tbl, ppci->phb->node);
DBG(" created table: %p\n", ppci->iommu_table);
}
Expand Down Expand Up @@ -523,14 +517,10 @@ static void pci_dma_dev_setup_pSeriesLP(struct pci_dev *dev)

pci = PCI_DN(pdn);
if (!pci->iommu_table) {
/* iommu_table_setparms_lpar needs bussubno. */
pci->bussubno = pci->phb->bus->number;

tbl = kmalloc_node(sizeof(struct iommu_table), GFP_KERNEL,
pci->phb->node);

iommu_table_setparms_lpar(pci->phb, pdn, tbl, dma_window);

iommu_table_setparms_lpar(pci->phb, pdn, tbl, dma_window,
pci->phb->bus->number);
pci->iommu_table = iommu_init_table(tbl, pci->phb->node);
DBG(" created table: %p\n", pci->iommu_table);
} else {
Expand Down

0 comments on commit 96188ce

Please sign in to comment.