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

From: Konrad Rzeszutek Wilk
Date: Fri Aug 02 2013 - 08:14:33 EST


On Fri, Aug 02, 2013 at 12:59:00PM +0100, Stefano Stabellini wrote:
> On Wed, 31 Jul 2013, Konrad Rzeszutek Wilk wrote:
> > Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> wrote:
> > >Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
> > >CC: will.deacon@xxxxxxx
> > >CC: linux@xxxxxxxxxxxxxxxx
> > >---
> > > 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.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/