Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 81007
b: refs/heads/master
c: 96188ce
h: refs/heads/master
i:
  81005: 86d7ea5
  81003: be36a70
  80999: 19934bd
  80991: 0dc2614
v: v3
  • Loading branch information
Stephen Rothwell authored and Paul Mackerras committed Dec 11, 2007
1 parent ce8f5da commit 084ee4c
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 18 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 68d315f5975c05595af52e3b758b5b6ebae1a266
refs/heads/master: 96188ce57ba2e497dbbac78a137ae5c732db5fed
24 changes: 7 additions & 17 deletions trunk/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 084ee4c

Please sign in to comment.