Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
[sfrench/cifs-2.6.git] / include / asm-x86 / scatterlist.h
1 #ifndef _ASM_X86_SCATTERLIST_H
2 #define _ASM_X86_SCATTERLIST_H
3
4 #include <asm/types.h>
5
6 struct scatterlist {
7 #ifdef CONFIG_DEBUG_SG
8         unsigned long   sg_magic;
9 #endif
10         unsigned long   page_link;
11         unsigned int    offset;
12         unsigned int    length;
13         dma_addr_t      dma_address;
14 #ifdef CONFIG_X86_64
15         unsigned int    dma_length;
16 #endif
17 };
18
19 #define ARCH_HAS_SG_CHAIN
20 #define ISA_DMA_THRESHOLD (0x00ffffff)
21
22 /*
23  * These macros should be used after a pci_map_sg call has been done
24  * to get bus addresses of each of the SG entries and their lengths.
25  * You should only work with the number of sg entries pci_map_sg
26  * returns.
27  */
28 #define sg_dma_address(sg)      ((sg)->dma_address)
29 #ifdef CONFIG_X86_32
30 # define sg_dma_len(sg)         ((sg)->length)
31 #else
32 # define sg_dma_len(sg)         ((sg)->dma_length)
33 #endif
34
35 #endif