[PATCH kernel RFC 0/2] powerpc/ioda2: An attempt to allow DMA masks between 32 and 59

Russell Currey ruscur at russell.cc
Tue Apr 23 10:58:12 AEST 2019


On Fri, 2019-04-12 at 16:44 +1000, Alexey Kardashevskiy wrote:
> This is an attempt to allow DMA mask 40 or similar which are not
> large
> enough to use either a PHB3 bypass mode or a sketchy bypass.
> 
> This is based on sha1
> 582549e3fbe1 Linus Torvalds Merge tag 'for-linus' of
> git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma 
> 
> Please comment. Thanks.

Seems to uniformly fail on POWER8 and sometimes on P9 too.

On P8:

[    2.423206] Failed to allocate a TCE memory, level shift=26
[    2.423351] pci 0001:03     : [PE# fd] Failed to create 32-bit TCE
table, err -12

On P9:

[    0.303055] pci 0003:01     : [PE# 1fd] Setting up 32-bit TCE table
at 0..80000000
[    0.303119] Failed to allocate a TCE memory, level shift=30
[    0.303147] pci 0003:01     : [PE# 1fd] Failed to create 32-bit TCE
table, err -12

Is it selecting the wrong TCE size?

> Alexey Kardashevskiy (2):
  powerpc/powernv/ioda: Allocate TCE table
> levels on demand for default
    DMA window
  powerpc/powernv/ioda2:
> Create bigger default window with 64k IOMMU
    pages

 arch/powerpc/include/asm/iommu.h              |  8 ++-
 arch/powerpc/platforms/powernv/pci.h          |  2 +-
 arch/powerpc/kernel/iommu.c                   | 58 +++++++++++++--
----
 arch/powerpc/platforms/powernv/pci-ioda-tce.c | 19 +++---
 arch/powerpc/platforms/powernv/pci-ioda.c     | 14 ++++-
 5 files changed, 66 insertions(+), 35 deletions(-)




More information about the Linuxppc-dev mailing list