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(-)