powerpc/powernv: Move pnv_pci_ioda_setup_opal_tce_kill() around
pnv_pci_ioda_setup_opal_tce_kill() called by pnv_ioda_setup_dma() to remap the TCE kill regiter. What's done in pnv_ioda_setup_dma() will be covered in pcibios_setup_bridge() which is invoked on each PCI bridge. It means we will possibly remap the TCE kill register for multiple times and it's unnecessary. This moves pnv_pci_ioda_setup_opal_tce_kill() to where the PHB is initialized (pnv_pci_init_ioda_phb()) to avoid above issue. Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com> Reviewed-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
parent
e368e4ca9c
commit
577c8c8868
|
@ -2702,8 +2702,6 @@ static void pnv_ioda_setup_dma(struct pnv_phb *phb)
|
|||
pr_info("PCI: Domain %04x has %d available 32-bit DMA segments\n",
|
||||
hose->global_number, phb->ioda.dma32_count);
|
||||
|
||||
pnv_pci_ioda_setup_opal_tce_kill(phb);
|
||||
|
||||
/* Walk our PE list and configure their DMA segments */
|
||||
list_for_each_entry(pe, &phb->ioda.pe_list, list) {
|
||||
weight = pnv_pci_ioda_pe_dma_weight(pe);
|
||||
|
@ -3482,6 +3480,9 @@ static void __init pnv_pci_init_ioda_phb(struct device_node *np,
|
|||
if (phb->regs == NULL)
|
||||
pr_err(" Failed to map registers !\n");
|
||||
|
||||
/* Initialize TCE kill register */
|
||||
pnv_pci_ioda_setup_opal_tce_kill(phb);
|
||||
|
||||
/* Initialize more IODA stuff */
|
||||
phb->ioda.total_pe_num = 1;
|
||||
prop32 = of_get_property(np, "ibm,opal-num-pes", NULL);
|
||||
|
|
Loading…
Reference in New Issue