On Tue, Feb 21, 2017 at 01:40:20PM +1100, Alexey Kardashevskiy wrote: > PNV_IODA_PE_DEV is only used for NPU devices (emulated PCI bridges > representing NVLink). These are added to IOMMU groups with corresponding > NVIDIA devices after all non-NPU PEs are setup; a special helper - > pnv_pci_ioda_setup_iommu_api() - handles this in pnv_pci_ioda_fixup(). > > The pnv_pci_ioda2_setup_dma_pe() helper sets up DMA for a PE. It is called > for VFs (so it does not handle NPU case) and PCI bridges but only > IODA1 and IODA2 types. An NPU bridge has its own type id (PNV_PHB_NPU) > so pnv_pci_ioda2_setup_dma_pe() cannot be called on NPU and therefore > (pe->flags & PNV_IODA_PE_DEV) is always "false". > > This removes not used iommu_add_device(). This should not cause any > behavioral change. > > Signed-off-by: Alexey Kardashevskiy <[email protected]>
Reviewed-by: David Gibson <[email protected]> > --- > arch/powerpc/platforms/powernv/pci-ioda.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/arch/powerpc/platforms/powernv/pci-ioda.c > b/arch/powerpc/platforms/powernv/pci-ioda.c > index 5fcae29107e1..51ec0dc1dfde 100644 > --- a/arch/powerpc/platforms/powernv/pci-ioda.c > +++ b/arch/powerpc/platforms/powernv/pci-ioda.c > @@ -2724,9 +2724,7 @@ static void pnv_pci_ioda2_setup_dma_pe(struct pnv_phb > *phb, > if (rc) > return; > > - if (pe->flags & PNV_IODA_PE_DEV) > - iommu_add_device(&pe->pdev->dev); > - else if (pe->flags & (PNV_IODA_PE_BUS | PNV_IODA_PE_BUS_ALL)) > + if (pe->flags & (PNV_IODA_PE_BUS | PNV_IODA_PE_BUS_ALL)) > pnv_ioda_setup_bus_dma(pe, pe->pbus); > } > -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature
