• Alexey Kardashevskiy's avatar
    powerpc/powernv/npu: Rework TCE Kill handling · 85674868
    Alexey Kardashevskiy authored
    The pnv_ioda_pe struct keeps an array of peers. At the moment it is only
    used to link GPU and NPU for 2 purposes:
    
    1. Access NPU quickly when configuring DMA for GPU - this was addressed
    in the previos patch by removing use of it as DMA setup is not what
    the kernel would constantly do.
    
    2. Invalidate TCE cache for NPU when it is invalidated for GPU.
    GPU and NPU are in different PE. There is already a mechanism to
    attach multiple iommu_table_group to the same iommu_table (used for VFIO),
    we can reuse it here so does this patch.
    
    This gets rid of peers[] array and PNV_IODA_PE_PEER flag as they are
    not needed anymore.
    
    While we are here, add TCE cache invalidation after enabling bypass.
    Signed-off-by: default avatarAlexey Kardashevskiy <aik@ozlabs.ru>
    Reviewed-By: default avatarAlistair Popple <alistair@popple.id.au>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    85674868
npu-dma.c 7.13 KB