mirror of https://gitee.com/openkylin/linux.git
powerpc/powernv: Don't use pe->pbus to get the domain number
If the PE contains single PCI function, "pe->pbus" would be NULL. It's not reliable to be used by pci_domain_nr(). We just grab the PCI domain number from the PCI host controller (struct pci_controller) instance. Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
parent
65fd766b99
commit
e9bc03fe22
|
@ -672,7 +672,7 @@ static void pnv_pci_ioda_setup_dma_pe(struct pnv_phb *phb,
|
||||||
TCE_PCI_SWINV_PAIR);
|
TCE_PCI_SWINV_PAIR);
|
||||||
}
|
}
|
||||||
iommu_init_table(tbl, phb->hose->node);
|
iommu_init_table(tbl, phb->hose->node);
|
||||||
iommu_register_group(tbl, pci_domain_nr(pe->pbus), pe->pe_number);
|
iommu_register_group(tbl, phb->hose->global_number, pe->pe_number);
|
||||||
|
|
||||||
if (pe->pdev)
|
if (pe->pdev)
|
||||||
set_iommu_table_base_and_group(&pe->pdev->dev, tbl);
|
set_iommu_table_base_and_group(&pe->pdev->dev, tbl);
|
||||||
|
@ -800,7 +800,7 @@ static void pnv_pci_ioda2_setup_dma_pe(struct pnv_phb *phb,
|
||||||
tbl->it_type |= (TCE_PCI_SWINV_CREATE | TCE_PCI_SWINV_FREE);
|
tbl->it_type |= (TCE_PCI_SWINV_CREATE | TCE_PCI_SWINV_FREE);
|
||||||
}
|
}
|
||||||
iommu_init_table(tbl, phb->hose->node);
|
iommu_init_table(tbl, phb->hose->node);
|
||||||
iommu_register_group(tbl, pci_domain_nr(pe->pbus), pe->pe_number);
|
iommu_register_group(tbl, phb->hose->global_number, pe->pe_number);
|
||||||
|
|
||||||
if (pe->pdev)
|
if (pe->pdev)
|
||||||
set_iommu_table_base_and_group(&pe->pdev->dev, tbl);
|
set_iommu_table_base_and_group(&pe->pdev->dev, tbl);
|
||||||
|
|
Loading…
Reference in New Issue