From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [IPv6:2001:44b8:8060:ff02:300:1:6:6]) by ozlabs.org (Postfix) with ESMTP id E6AFA2C00A6 for ; Wed, 29 Jan 2014 13:29:04 +1100 (EST) From: Alistair Popple To: Benjamin Herrenschmidt Subject: Re: [git pull] Please pull powerpc.git next branch Date: Wed, 29 Jan 2014 13:29 +1100 Message-ID: <4555187.D5eRSF5r8x@mexican> In-Reply-To: <1390940395.8524.25.camel@pasglop> References: <1390883744.3872.76.camel@pasglop> <20140128150309.GA7428@aepfle.de> <1390940395.8524.25.camel@pasglop> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="nextPart2424423.l9okISCyUE" Cc: linuxppc-dev , Olaf Hering , Linus Torvalds , Linux Kernel list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , This is a multi-part message in MIME format. --nextPart2424423.l9okISCyUE Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" On Wed, 29 Jan 2014 07:19:55 Benjamin Herrenschmidt wrote: > On Tue, 2014-01-28 at 16:03 +0100, Olaf Hering wrote: > > d084775738b746648d4102337163a04534a02982 is the first bad commit > > commit d084775738b746648d4102337163a04534a02982 > > Author: Alistair Popple > > Date: Mon Dec 9 18:17:03 2013 +1100 > > > > powerpc/iommu: Update the generic code to use dynamic iommu page sizes > > > > This patch updates the generic iommu backend code to use the > > it_page_shift field to determine the iommu page size instead of > > using hardcoded values. > > Interesting. This is new infrastructure but a nop in functionality, ie, > we support different page sizes for DMA but we still set it to 4k, > unless we somewhat failed to initialize something... Looks like I missed the dart iommu code when changing the iommu table initialisation. The patch below should fix it, would you mind testing it Ben? Thanks. > I'll have a look, I actually have one of those G5s here still. Thanks ! > > Cheers, > Ben. > --- diff --git a/arch/powerpc/sysdev/dart_iommu.c b/arch/powerpc/sysdev/dart_iommu.c index bd968a4..62c47bb 100644 --- a/arch/powerpc/sysdev/dart_iommu.c +++ b/arch/powerpc/sysdev/dart_iommu.c @@ -292,6 +292,7 @@ static void iommu_table_dart_setup(void) iommu_table_dart.it_offset = 0; /* it_size is in number of entries */ iommu_table_dart.it_size = dart_tablesize / sizeof(u32); + iommu_table_dart.it_page_shift = IOMMU_PAGE_SHIFT_4K; /* Initialize the common IOMMU code */ iommu_table_dart.it_base = (unsigned long)dart_vbase; --nextPart2424423.l9okISCyUE Content-Transfer-Encoding: 7Bit Content-Type: text/html; charset="us-ascii"

On Wed, 29 Jan 2014 07:19:55 Benjamin Herrenschmidt wrote:

> On Tue, 2014-01-28 at 16:03 +0100, Olaf Hering wrote:

> > d084775738b746648d4102337163a04534a02982 is the first bad commit

> > commit d084775738b746648d4102337163a04534a02982

> > Author: Alistair Popple <alistair@popple.id.au>

> > Date: Mon Dec 9 18:17:03 2013 +1100

> >

> > powerpc/iommu: Update the generic code to use dynamic iommu page sizes

> >

> > This patch updates the generic iommu backend code to use the

> > it_page_shift field to determine the iommu page size instead of

> > using hardcoded values.

>

> Interesting. This is new infrastructure but a nop in functionality, ie,

> we support different page sizes for DMA but we still set it to 4k,

> unless we somewhat failed to initialize something...

 

Looks like I missed the dart iommu code when changing the iommu table initialisation. The patch below should fix it, would you mind testing it Ben? Thanks.

 

> I'll have a look, I actually have one of those G5s here still. Thanks !

>

> Cheers,

> Ben.

>

 

---

 

diff --git a/arch/powerpc/sysdev/dart_iommu.c b/arch/powerpc/sysdev/dart_iommu.c

index bd968a4..62c47bb 100644

--- a/arch/powerpc/sysdev/dart_iommu.c

+++ b/arch/powerpc/sysdev/dart_iommu.c

@@ -292,6 +292,7 @@ static void iommu_table_dart_setup(void)

iommu_table_dart.it_offset = 0;

/* it_size is in number of entries */

iommu_table_dart.it_size = dart_tablesize / sizeof(u32);

+ iommu_table_dart.it_page_shift = IOMMU_PAGE_SHIFT_4K;

/* Initialize the common IOMMU code */

iommu_table_dart.it_base = (unsigned long)dart_vbase;

 

--nextPart2424423.l9okISCyUE--