Messages in this thread | | | Date | Thu, 8 Apr 2010 14:00:22 +0900 | Subject | Re: [PATCH -mm 09/12] blackfin: use use asm-generic/scatterlist.h | From | FUJITA Tomonori <> |
| |
On Wed, 7 Apr 2010 23:51:04 -0400 Mike Frysinger <vapier.adi@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 */
| |