Prev: BUG? boot failed with "crashkernel=256M@32M", but "crashkernel=256M@64M" can work
Next: [PATCH 2/5] percpu: reorganize chunk creation and destruction
From: Mike Frysinger on 8 Apr 2010 00:00 On Mon, Apr 5, 2010 at 19:52, FUJITA Tomonori wrote: > Signed-off-by: FUJITA Tomonori <fujita.tomonori(a)lab.ntt.co.jp> > Cc: Mike Frysinger <vapier(a)gentoo.org> > --- > arch/blackfin/include/asm/scatterlist.h | 22 +--------------------- > 1 files changed, 1 insertions(+), 21 deletions(-) > > diff --git a/arch/blackfin/include/asm/scatterlist.h b/arch/blackfin/include/asm/scatterlist.h > index 04f4487..64d41d3 100644 > --- a/arch/blackfin/include/asm/scatterlist.h > +++ b/arch/blackfin/include/asm/scatterlist.h > @@ -1,27 +1,7 @@ > #ifndef _BLACKFIN_SCATTERLIST_H > #define _BLACKFIN_SCATTERLIST_H > > -#include <linux/mm.h> > - > -struct scatterlist { > -#ifdef CONFIG_DEBUG_SG > - unsigned long sg_magic; > -#endif > - unsigned long page_link; > - unsigned int offset; > - dma_addr_t dma_address; > - unsigned int length; > -}; > - > -/* > - * These macros should be used after a pci_map_sg call has been done > - * to get bus addresses of each of the SG entries and their lengths. > - * You should only work with the number of sg entries pci_map_sg > - * returns, or alternatively stop on the first sg_dma_len(sg) which > - * is 0. > - */ > -#define sg_dma_address(sg) ((sg)->dma_address) > -#define sg_dma_len(sg) ((sg)->length) > +#include <asm-generic/scatterlist.h> > > #define ISA_DMA_THRESHOLD (0xffffffff) this is the same value as the common asm-generic one, so this define should be punted, especially since this would probably introduce redefined warnings. once that is done, this header is simply a redirect, so it'd be better if it was just one line: #include <asm-generic/scatterlist.h> one of the reasons i hadnt converted sooner was that it seems like the common header introduces bloat. the Blackfin header has just "length" while the asm-generic has both "length" and "dma_length". unless i missed something, this hasnt been a problem for us. perhaps the common header should have something like: #if __BITS_PER_LONG == 64 unsigned int dma_length; #endif this would match the existing sg_dma_len code. or perhaps declare the two lengths as an anonymous union. -mike -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: FUJITA Tomonori on 8 Apr 2010 01:10
On Wed, 7 Apr 2010 23:51:04 -0400 Mike Frysinger <vapier.adi(a)gmail.com> wrote: > > #define ISA_DMA_THRESHOLD (0xffffffff) > > this is the same value as the common asm-generic one, so this define > should be punted, especially since this would probably introduce > redefined warnings. I removed ISA_DMA_THRESHOLD in the common asm-generic one since it doesn't work for powerpc. I've attached the common asm-generic in -mm below. > once that is done, this header is simply a redirect, so it'd be better > if it was just one line: > #include <asm-generic/scatterlist.h> > > one of the reasons i hadnt converted sooner was that it seems like the > common header introduces bloat. the Blackfin header has just "length" I took care of it. Blackfin doesn't define CONFIG_NEED_SG_DMA_LENGTH so doesn't get "dma_length". > while the asm-generic has both "length" and "dma_length". unless i > missed something, this hasnt been a problem for us. perhaps the > common header should have something like: > #if __BITS_PER_LONG == 64 > unsigned int dma_length; > #endif '#if __BITS_PER_LONG == 64' doesn't work since some 32-bit architectures need it. So I invented CONFIG_NEED_SG_DMA_LENGTH. = #ifndef __ASM_GENERIC_SCATTERLIST_H #define __ASM_GENERIC_SCATTERLIST_H #include <linux/types.h> struct scatterlist { #ifdef CONFIG_DEBUG_SG unsigned long sg_magic; #endif unsigned long page_link; unsigned int offset; unsigned int length; dma_addr_t dma_address; #ifdef CONFIG_NEED_SG_DMA_LENGTH unsigned int dma_length; #endif }; /* * These macros should be used after a dma_map_sg call has been done * to get bus addresses of each of the SG entries and their lengths. * You should only work with the number of sg entries pci_map_sg * returns, or alternatively stop on the first sg_dma_len(sg) which * is 0. */ #define sg_dma_address(sg) ((sg)->dma_address) #ifdef CONFIG_NEED_SG_DMA_LENGTH #define sg_dma_len(sg) ((sg)->dma_length) #else #define sg_dma_len(sg) ((sg)->length) #endif #endif /* __ASM_GENERIC_SCATTERLIST_H */ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |