setup

Per the IODA2, TCEs must be invalidated after their settings
have been changed.  Invalidate the cache after the address
is changed during TCE allocation when using pseudo DMA.

Signed-off-by: Timothy Pearson <tpear...@raptorengineering.com>
---
 arch/powerpc/platforms/powernv/pci-dma.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/arch/powerpc/platforms/powernv/pci-dma.c 
b/arch/powerpc/platforms/powernv/pci-dma.c
index 237940a2a052..060dbc168401 100644
--- a/arch/powerpc/platforms/powernv/pci-dma.c
+++ b/arch/powerpc/platforms/powernv/pci-dma.c
@@ -42,8 +42,7 @@ static int dma_pseudo_bypass_select_tce(struct pnv_ioda_pe 
*pe, phys_addr_t addr
        new = cpu_to_be64(addr | TCE_PCI_READ | TCE_PCI_WRITE);
        pe->tces[tce] = new;
        mb();
-       pe_info(pe, "allocating TCE %i 0x%016llx (old 0x%016llx)\n",
-               tce, new, old);
+       pnv_pci_ioda2_tce_invalidate_pe(pe);
        spin_unlock_irqrestore(&pe->tce_alloc_lock, flags);
 
        return tce;
-- 
2.17.1

Reply via email to