mbox series

[kernel,v5,0/4] powerpc/ioda2: Yet another attempt to allow DMA masks between 32 and 59

Message ID 20190718051139.74787-1-aik@ozlabs.ru (mailing list archive)
Headers show
Series powerpc/ioda2: Yet another attempt to allow DMA masks between 32 and 59 | expand

Message

Alexey Kardashevskiy July 18, 2019, 5:11 a.m. UTC
This is an attempt to allow DMA masks between 32..59 which are not large
enough to use either a PHB3 bypass mode or a sketchy bypass. Depending
on the max order, up to 40 is usually available.

This is an optimization and not a bug fix for DMA API usage.

Changelogs are in the patches.


This is based on sha1
a2b6f26c264e Christophe Leroy "powerpc/module64: Use symbolic instructions names.".

Please comment. Thanks.



Alexey Kardashevskiy (4):
  powerpc/powernv/ioda: Fix race in TCE level allocation
  powerpc/iommu: Allow bypass-only for DMA
  powerpc/powernv/ioda2: 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              |  7 +-
 arch/powerpc/platforms/powernv/pci.h          |  2 +-
 arch/powerpc/kernel/dma-iommu.c               | 11 ++-
 arch/powerpc/kernel/iommu.c                   | 74 +++++++++++++------
 arch/powerpc/platforms/cell/iommu.c           |  2 +-
 arch/powerpc/platforms/pasemi/iommu.c         |  2 +-
 arch/powerpc/platforms/powernv/pci-ioda-tce.c | 38 ++++++----
 arch/powerpc/platforms/powernv/pci-ioda.c     | 42 +++++++++--
 arch/powerpc/platforms/pseries/iommu.c        |  8 +-
 arch/powerpc/platforms/pseries/vio.c          |  2 +-
 arch/powerpc/sysdev/dart_iommu.c              |  2 +-
 11 files changed, 129 insertions(+), 61 deletions(-)