On Fri, Jun 12, 2015 at 04:19:17PM +1000, Alexey Kardashevskiy wrote:
>The existing code puts all devices from a root PE to the same IOMMU group.
>However it is a possible situation when subordinate buses belong to
>separate PEs, in this case devices from these subordinate buses
>should be added to lower level PE rather to the root PE.
>
>This limits pnv_ioda_setup_bus_dma() invocation to only PEs which own
>all subordinate buses.
>
>Suggested-by: Gavin Shan <gws...@linux.vnet.ibm.com>
>Signed-off-by: Alexey Kardashevskiy <a...@ozlabs.ru>

Alexey, I think it's good candidate for stable.

Thanks,
Gavin

>---
>
>This would be nice to have together with the DDW patchset.
>This does not fix anything DDW patchset did, it fixes IOMMU
>groups management which is essential for the whole feature to work.
>
>---
> arch/powerpc/platforms/powernv/pci-ioda.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
>diff --git a/arch/powerpc/platforms/powernv/pci-ioda.c 
>b/arch/powerpc/platforms/powernv/pci-ioda.c
>index a0b00c1..3b1dc79 100644
>--- a/arch/powerpc/platforms/powernv/pci-ioda.c
>+++ b/arch/powerpc/platforms/powernv/pci-ioda.c
>@@ -1702,7 +1702,7 @@ static void pnv_ioda_setup_bus_dma(struct pnv_ioda_pe 
>*pe,
>               set_iommu_table_base(&dev->dev, pe->table_group.tables[0]);
>               iommu_add_device(&dev->dev);
>
>-              if (dev->subordinate)
>+              if ((pe->flags & PNV_IODA_PE_BUS_ALL) && dev->subordinate)
>                       pnv_ioda_setup_bus_dma(pe, dev->subordinate);
>       }
> }
>-- 
>2.4.0.rc3.8.gfb3e7d5
>

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to