diff mbox

[git,pull] Please pull powerpc.git next branch

Message ID 4555187.D5eRSF5r8x@mexican (mailing list archive)
State Accepted
Commit 67bfa0ee6691f62d5e2d9602d032a19716fe7b34
Headers show

Commit Message

Alistair Popple Jan. 29, 2014, 2:29 a.m. UTC
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.
> 

---

Comments

Olaf Hering Jan. 29, 2014, 8:41 a.m. UTC | #1
On Wed, Jan 29, Alistair Popple wrote:

> 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?

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

> + iommu_table_dart.it_page_shift = IOMMU_PAGE_SHIFT_4K;


Yes, that fixes it for me. Thanks!

Olaf
diff mbox

Patch

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;