Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753169AbbFLGsL (ORCPT ); Fri, 12 Jun 2015 02:48:11 -0400 Received: from e23smtp07.au.ibm.com ([202.81.31.140]:35052 "EHLO e23smtp07.au.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750781AbbFLGsH (ORCPT ); Fri, 12 Jun 2015 02:48:07 -0400 Date: Fri, 12 Jun 2015 16:47:03 +1000 From: Gavin Shan To: Alexey Kardashevskiy Cc: linuxppc-dev@lists.ozlabs.org, Benjamin Herrenschmidt , David Gibson , Gavin Shan , Michael Ellerman , Paul Mackerras , linux-kernel@vger.kernel.org Subject: Re: [PATCH kernel] powerpc/powernv/ioda2: Add devices only from buses which belong to PE Message-ID: <20150612064703.GA17776@gwshan> Reply-To: Gavin Shan References: <1434089957-27135-1-git-send-email-aik@ozlabs.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1434089957-27135-1-git-send-email-aik@ozlabs.ru> User-Agent: Mutt/1.5.23 (2014-03-12) X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 15061206-0025-0000-0000-000001A525F6 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1748 Lines: 49 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 >Signed-off-by: Alexey Kardashevskiy 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 > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/