linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH RFC 0/5] ARM: Raspberry Pi 4 DMA support
@ 2019-10-14 18:31 Nicolas Saenz Julienne
  2019-10-14 18:31 ` [PATCH RFC 1/5] dma/direct: turn ARCH_ZONE_DMA_BITS into a variable Nicolas Saenz Julienne
                   ` (5 more replies)
  0 siblings, 6 replies; 16+ messages in thread
From: Nicolas Saenz Julienne @ 2019-10-14 18:31 UTC (permalink / raw)
  To: Robin Murphy, linux-arm-kernel, bcm-kernel-feedback-list,
	linux-rpi-kernel, iommu
  Cc: hch, mbrugger, f.fainelli, wahrenst, Nicolas Saenz Julienne,
	linux-kernel, linuxppc-dev, linux-s390

Hi all,
the Raspberry Pi 4 offers up to 4GB of memory, of which only the first
is DMA capable device wide. This forces us to use of bounce buffers,
which are currently not very well supported by ARM's custom DMA ops.
Among other things the current mechanism (see dmabounce.c) isn't
suitable for high memory. Instead of fixing it, this series introduces a
way of selecting dma-direct as the default DMA ops provider which allows
for the Raspberry Pi to make use of swiotlb.

Regards,
Nicolas

---

Nicolas Saenz Julienne (5):
  dma/direct: turn ARCH_ZONE_DMA_BITS into a variable
  ARM: introduce arm_dma_direct
  ARM: let machines select dma-direct over arch's DMA implementation
  dma/direct: check for overflows in ARM's dma_capable()
  ARM: bcm2711: use dma-direct

 arch/arm/include/asm/dma-direct.h  |  6 ++++++
 arch/arm/include/asm/dma-mapping.h |  3 ++-
 arch/arm/include/asm/dma.h         |  2 ++
 arch/arm/include/asm/mach/arch.h   |  1 +
 arch/arm/mach-bcm/Kconfig          |  1 +
 arch/arm/mach-bcm/bcm2711.c        |  1 +
 arch/arm/mm/dma-mapping.c          | 10 ++--------
 arch/arm/mm/init.c                 | 21 ++++++++++++++++++++-
 arch/arm64/include/asm/page.h      |  2 --
 arch/arm64/mm/init.c               |  9 +++++++--
 arch/powerpc/include/asm/page.h    |  9 ---------
 arch/powerpc/mm/mem.c              | 20 +++++++++++++++-----
 arch/s390/include/asm/page.h       |  2 --
 arch/s390/mm/init.c                |  1 +
 include/linux/dma-direct.h         |  2 ++
 kernel/dma/direct.c                | 13 ++++++-------
 16 files changed, 66 insertions(+), 37 deletions(-)

-- 
2.23.0


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2019-10-31 17:26 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-14 18:31 [PATCH RFC 0/5] ARM: Raspberry Pi 4 DMA support Nicolas Saenz Julienne
2019-10-14 18:31 ` [PATCH RFC 1/5] dma/direct: turn ARCH_ZONE_DMA_BITS into a variable Nicolas Saenz Julienne
2019-10-30 21:49   ` Christoph Hellwig
2019-10-31 10:30     ` Nicolas Saenz Julienne
2019-10-31 13:38       ` Christoph Hellwig
2019-10-31 17:26         ` Nicolas Saenz Julienne
2019-10-14 18:31 ` [PATCH RFC 2/5] ARM: introduce arm_dma_direct Nicolas Saenz Julienne
2019-10-15 10:04   ` Christoph Hellwig
2019-10-14 18:31 ` [PATCH RFC 3/5] ARM: let machines select dma-direct over arch's DMA implementation Nicolas Saenz Julienne
2019-10-14 18:31 ` [PATCH RFC 4/5] dma/direct: check for overflows in ARM's dma_capable() Nicolas Saenz Julienne
2019-10-15 10:23   ` Christoph Hellwig
2019-10-15 13:07     ` Nicolas Saenz Julienne
2019-10-14 18:31 ` [PATCH RFC 5/5] ARM: bcm2711: use dma-direct Nicolas Saenz Julienne
2019-10-14 20:59 ` [PATCH RFC 0/5] ARM: Raspberry Pi 4 DMA support Catalin Marinas
2019-10-15  7:48   ` Nicolas Saenz Julienne
2019-10-15 17:46     ` Catalin Marinas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).