On Intel Elkhart Lake the DMA controllers can be provided by Intel® PSE (Programmable Services Engine) and exposed either as PCI or ACPI devices. To support both schemes here is a patch series. First two patches fixes minor issues in DMA ACPI layer, patches 3-5 enables Intel Elkhart Lake DMA controllers that exposed as ACPI devices, patch 6 is clean up, patch 7 is fix for possible race on ->remove() stage, patch 8 is follow up clean up and patches 9-10 is a split for better maintenance. Changelog v2: - spell correctly Intel® PSE in the code and commit messages (Jarkko) - drop couple of not needed right now patches against DMA ACPI layer Andy Shevchenko (10): dmaengine: acpi: Set up DMA mask based on CSRT dmaengine: acpi: Add kernel doc parameter descriptions dmaengine: dw: Export struct dw_dma_chip_pdata for wider use dmaengine: dw: platform: Use struct dw_dma_chip_pdata dmaengine: dw: platform: Enable iDMA 32-bit on Intel Elkhart Lake dmaengine: dw: platform: Use devm_platform_ioremap_resource() dmaengine: dw: platform: Switch to acpi_dma_controller_register() dmaengine: dw: platform: Move handle check to dw_dma_acpi_controller_register() dmaengine: dw: platform: Split ACPI helpers to separate module dmaengine: dw: platform: Split OF helpers to separate module drivers/dma/acpi-dma.c | 12 ++- drivers/dma/dw/Makefile | 4 +- drivers/dma/dw/acpi.c | 53 +++++++++ drivers/dma/dw/internal.h | 51 +++++++++ drivers/dma/dw/of.c | 131 ++++++++++++++++++++++ drivers/dma/dw/pci.c | 60 +++-------- drivers/dma/dw/platform.c | 221 +++++++++----------------------------- 7 files changed, 312 insertions(+), 220 deletions(-) create mode 100644 drivers/dma/dw/acpi.c create mode 100644 drivers/dma/dw/of.c -- 2.23.0.rc1