From: Christoph Hellwig <hch@lst.de>
To: Robin Murphy <robin.murphy@arm.com>
Cc: Joerg Roedel <joro@8bytes.org>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will.deacon@arm.com>,
Tom Lendacky <thomas.lendacky@amd.com>,
iommu@lists.linux-foundation.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: [PATCH 01/19] dma-mapping: add a Kconfig symbol to indicated arch_dma_prep_coherent presence
Date: Mon, 14 Jan 2019 10:41:41 +0100 [thread overview]
Message-ID: <20190114094159.27326-2-hch@lst.de> (raw)
In-Reply-To: <20190114094159.27326-1-hch@lst.de>
Add a Kconfig symbol that indicates an architecture provides a
arch_dma_prep_coherent implementation, and provide a stub otherwise.
This will allow the generic dma-iommu code to it while still allowing
to be built for cache coherent architectures.
Signed-off-by: Christoph Hellwig <hch@lst.de>
---
arch/arm64/Kconfig | 1 +
arch/csky/Kconfig | 1 +
include/linux/dma-noncoherent.h | 6 ++++++
kernel/dma/Kconfig | 3 +++
4 files changed, 11 insertions(+)
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index a4168d366127..ae3f581a9bcc 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -13,6 +13,7 @@ config ARM64
select ARCH_HAS_DEVMEM_IS_ALLOWED
select ARCH_HAS_DMA_COHERENT_TO_PFN
select ARCH_HAS_DMA_MMAP_PGPROT
+ select ARCH_HAS_DMA_PREP_COHERENT
select ARCH_HAS_ACPI_TABLE_UPGRADE if ACPI
select ARCH_HAS_ELF_RANDOMIZE
select ARCH_HAS_FAST_MULTIPLIER
diff --git a/arch/csky/Kconfig b/arch/csky/Kconfig
index 398113c845f5..8b84d4362ff6 100644
--- a/arch/csky/Kconfig
+++ b/arch/csky/Kconfig
@@ -1,5 +1,6 @@
config CSKY
def_bool y
+ select ARCH_HAS_DMA_PREP_COHERENT
select ARCH_HAS_SYNC_DMA_FOR_CPU
select ARCH_HAS_SYNC_DMA_FOR_DEVICE
select ARCH_USE_BUILTIN_BSWAP
diff --git a/include/linux/dma-noncoherent.h b/include/linux/dma-noncoherent.h
index 69b36ed31a99..9741767e400f 100644
--- a/include/linux/dma-noncoherent.h
+++ b/include/linux/dma-noncoherent.h
@@ -72,6 +72,12 @@ static inline void arch_sync_dma_for_cpu_all(struct device *dev)
}
#endif /* CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU_ALL */
+#ifdef CONFIG_ARCH_HAS_DMA_PREP_COHERENT
void arch_dma_prep_coherent(struct page *page, size_t size);
+#else
+static inline void arch_dma_prep_coherent(struct page *page, size_t size)
+{
+}
+#endif /* CONFIG_ARCH_HAS_DMA_PREP_COHERENT */
#endif /* _LINUX_DMA_NONCOHERENT_H */
diff --git a/kernel/dma/Kconfig b/kernel/dma/Kconfig
index ca88b867e7fe..541128a32c5d 100644
--- a/kernel/dma/Kconfig
+++ b/kernel/dma/Kconfig
@@ -29,6 +29,9 @@ config ARCH_HAS_SYNC_DMA_FOR_CPU
config ARCH_HAS_SYNC_DMA_FOR_CPU_ALL
bool
+config ARCH_HAS_DMA_PREP_COHERENT
+ bool
+
config ARCH_HAS_DMA_COHERENT_TO_PFN
bool
--
2.20.1
next prev parent reply other threads:[~2019-01-14 9:42 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-14 9:41 implement generic dma_map_ops for IOMMUs Christoph Hellwig
2019-01-14 9:41 ` Christoph Hellwig [this message]
2019-02-01 14:22 ` [PATCH 01/19] dma-mapping: add a Kconfig symbol to indicated arch_dma_prep_coherent presence Robin Murphy
2019-02-01 16:12 ` Christoph Hellwig
2019-01-14 9:41 ` [PATCH 02/19] dma-iommu: cleanup dma-iommu.h Christoph Hellwig
2019-02-01 14:47 ` Robin Murphy
2019-02-01 16:13 ` Christoph Hellwig
2019-02-06 15:08 ` Robin Murphy
2019-02-11 15:59 ` Christoph Hellwig
2019-01-14 9:41 ` [PATCH 03/19] dma-iommu: don't use a scatterlist in iommu_dma_alloc Christoph Hellwig
2019-02-01 15:24 ` Robin Murphy
2019-02-01 16:16 ` Christoph Hellwig
2019-02-06 15:28 ` Robin Murphy
2019-02-11 16:00 ` Christoph Hellwig
2019-01-14 9:41 ` [PATCH 04/19] dma-iommu: remove the flush_page callback Christoph Hellwig
2019-02-01 15:28 ` Robin Murphy
2019-01-14 9:41 ` [PATCH 05/19] dma-iommu: move the arm64 wrappers to common code Christoph Hellwig
2019-01-14 9:41 ` [PATCH 06/19] dma-iommu: fix and refactor iommu_dma_mmap Christoph Hellwig
2019-02-05 15:02 ` Robin Murphy
2019-02-11 16:03 ` Christoph Hellwig
2019-01-14 9:41 ` [PATCH 07/19] dma-iommu: fix and refactor iommu_dma_get_sgtable Christoph Hellwig
2019-01-14 9:41 ` [PATCH 08/19] dma-iommu: move __iommu_dma_map Christoph Hellwig
2019-01-14 9:41 ` [PATCH 09/19] dma-iommu: refactor page array remap helpers Christoph Hellwig
2019-01-14 9:41 ` [PATCH 10/19] dma-iommu: factor atomic pool allocations into helpers Christoph Hellwig
2019-01-14 9:41 ` [PATCH 11/19] dma-iommu: factor contiguous " Christoph Hellwig
2019-01-14 9:41 ` [PATCH 12/19] dma-iommu: refactor iommu_dma_free Christoph Hellwig
2019-01-14 9:41 ` [PATCH 13/19] dma-iommu: don't remap contiguous allocations for coherent devices Christoph Hellwig
2019-01-14 9:41 ` [PATCH 14/19] dma-iommu: factor contiguous remapped allocations into helpers Christoph Hellwig
2019-01-14 9:41 ` [PATCH 15/19] dma-iommu: refactor iommu_dma_alloc Christoph Hellwig
2019-01-14 9:41 ` [PATCH 16/19] dma-iommu: don't depend on CONFIG_DMA_DIRECT_REMAP Christoph Hellwig
2019-02-06 11:55 ` Robin Murphy
2019-02-11 16:39 ` Christoph Hellwig
2019-01-14 9:41 ` [PATCH 17/19] dma-iommu: switch copyright boilerplace to SPDX Christoph Hellwig
2019-02-06 11:57 ` Robin Murphy
2019-01-14 9:41 ` [PATCH 18/19] arm64: switch copyright boilerplace to SPDX in dma-mapping.c Christoph Hellwig
2019-02-06 12:19 ` Robin Murphy
2019-01-14 9:41 ` [PATCH 19/19] arm64: trim includes " Christoph Hellwig
2019-01-28 7:53 ` implement generic dma_map_ops for IOMMUs Christoph Hellwig
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190114094159.27326-2-hch@lst.de \
--to=hch@lst.de \
--cc=catalin.marinas@arm.com \
--cc=iommu@lists.linux-foundation.org \
--cc=joro@8bytes.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=robin.murphy@arm.com \
--cc=thomas.lendacky@amd.com \
--cc=will.deacon@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).