[PATCH 6/7] powerpc/powernv/pci: Invalidate TCE cache after DMA map

Alexey Kardashevskiy aik at ozlabs.ru
Mon Jun 25 13:49:25 AEST 2018


On Sat, 23 Jun 2018 18:54:36 -0500 (CDT)
Timothy Pearson <tpearson at raptorengineering.com> wrote:

>  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 <tpearson at 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);

This should be merged into "powerpc/powernv: DMA operations for
discontiguous" and "[PATCH 5/7] powerpc/powernv/pci: Export" should be
first in the series.


>  	spin_unlock_irqrestore(&pe->tce_alloc_lock, flags);
>  
>  	return tce;
> -- 
> 2.17.1



--
Alexey


More information about the Linuxppc-dev mailing list