This allows mixing direct DMA (to/from RAM) and IOMMU (to/from apersistent memory) on the PPC64/pseries platform.
This replaces this: https://lkml.org/lkml/2020/10/20/1085 A lesser evil this is :) This is based on sha1 4525c8781ec0 Linus Torvalds "scsi: qla2xxx: remove incorrect sparse #ifdef". Please comment. Thanks. Alexey Kardashevskiy (2): dma: Allow mixing bypass and normal IOMMU operation powerpc/dma: Fallback to dma_ops when persistent memory present arch/powerpc/kernel/dma-iommu.c | 12 ++++- arch/powerpc/platforms/pseries/iommu.c | 44 ++++++++++++++----- kernel/dma/mapping.c | 61 +++++++++++++++++++++++++- arch/powerpc/Kconfig | 1 + kernel/dma/Kconfig | 4 ++ 5 files changed, 108 insertions(+), 14 deletions(-) -- 2.17.1