Re: [PATCH] sparc: use asm-generic/scatterlist.h

From: FUJITA Tomonori
Date: Tue Mar 02 2010 - 07:25:43 EST


On Tue, 2 Mar 2010 13:03:25 +0100
Arnd Bergmann <arnd@xxxxxxxx> wrote:

> On Tuesday 02 March 2010, FUJITA Tomonori wrote:
> > If we go with such approach, then we could use something like the
> > following. There are only two kinds of scatterlist definitions (use
> > dma_length or not) so we can cover all the architectures.
> >
> > diff --git a/include/asm-generic/scatterlist.h b/include/asm-generic/scatterlist.h
> > index 8b94544..1bf620d 100644
> > --- a/include/asm-generic/scatterlist.h
> > +++ b/include/asm-generic/scatterlist.h
> > @@ -11,7 +11,9 @@ struct scatterlist {
> > unsigned int offset;
> > unsigned int length;
> > dma_addr_t dma_address;
> > +#ifdef CONFIG_NEED_SG_DMA_LENGTH
> > unsigned int dma_length;
> > +#endif
> > };
>
> Yes, that sounds good. If the only reason to need dma_length is virtual merging,
> a clearer (from the Kconfig perspective, not from the implementation) name
> might be CONFIG_HAVE_IOMMU_VMERGE, similar to the CONFIG_IOMMU_VMERGE option
> on PPC64 that determines the default for the virtual merging runtime option.

Yeah, but IIRC, Alpha, x86_64 GART, parisc, and IA64 don't have
CONFIG_ option for IOMMU virtual merging. I prefer to avoid to adding
something like CONFIG_HAVE_IOMMU_VMERGE for them. If we add
CONFIG_HAVE_IOMMU_VMERGE to them, it's a bit strange not to add the
feature to disable virtual merging for them (I guess GART already has
the feature though).

Actually, I want to use dma_length on all the architectures (if nobody
complains).
--
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/