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 <alist...@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;
_______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev