Thread (25 messages) 25 messages, 4 authors, 2013-08-02

[PATCH RFC 1/8] arm: make SWIOTLB available

From: Konrad Rzeszutek Wilk <hidden>
Date: 2013-08-02 12:14:30
Also in: lkml, xen-devel

On Fri, Aug 02, 2013 at 12:59:00PM +0100, Stefano Stabellini wrote:
On Wed, 31 Jul 2013, Konrad Rzeszutek Wilk wrote:
quoted
Stefano Stabellini [off-list ref] wrote:
quoted
Signed-off-by: Stefano Stabellini <redacted>
CC: will.deacon at arm.com
CC: linux at arm.linux.org.uk
---
arch/arm/Kconfig                   |    7 +++++++
arch/arm/include/asm/dma-mapping.h |   24 ++++++++++++++++++++++++
2 files changed, 31 insertions(+), 0 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index ba412e0..05125ab 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1832,6 +1832,13 @@ config CC_STACKPROTECTOR
	  neutralized via a kernel panic.
	  This feature requires gcc version 4.2 or above.

+config SWIOTLB
+	def_bool y
+	select NEED_SG_DMA_LENGTH
+
+config IOMMU_HELPER
+	def_bool SWIOTLB
+
Could you explain the purpose of these two a bit more please? 
SWIOTLB is not available on arm at the moment.
We need to make it available, otherwise SWIOTLB_XEN won't be able to
select it.

Similarly, IOMMU_HELPER is another lib Kconfig symbol needed by SWIOTLB
to compile.
I was more curious about the NEED_SG_DMA_LENGTH and IOMMU_HELPER.
I think the NEED_SG_DMA_LENGTH is optional? Or does SWIOTLB complain
about? I do recall seeing a patch for this at some point but it was
malformed. It was just changing SWIOTLB to use a macro for
sg->dma_length or such.

But the IOMMU_HELPER? That seems odds as the DMA API (which as you know
is what SWIOTLB hooks up to) is _below_ the IOMMU API.  Ah, it is 
'iommu_is_span_boundary' function.  Gotcha.

Could you mention that in the git commit please? Just say that SWIOTLB
uses some of the common code that IOMMU API uses - which is in the
lib/iommu_helper.c hence the need for that.

And for the NEED_SG_DMA_LENGTH let me dig up the patch at some point and
send it your way so you can make it part of this series.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help