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 sparclinux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html