[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_STACKPROTECTORneutralized 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.