Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp
[linux-2.6] / arch / x86 / include / asm / 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         unsigned int    dma_length;
15 };
16
17 #define ARCH_HAS_SG_CHAIN
18 #define ISA_DMA_THRESHOLD (0x00ffffff)
19
20 /*
21  * These macros should be used after a pci_map_sg call has been done
22  * to get bus addresses of each of the SG entries and their lengths.
23  * You should only work with the number of sg entries pci_map_sg
24  * returns.
25  */
26 #define sg_dma_address(sg)      ((sg)->dma_address)
27 #ifdef CONFIG_X86_32
28 # define sg_dma_len(sg)         ((sg)->length)
29 #else
30 # define sg_dma_len(sg)         ((sg)->dma_length)
31 #endif
32
33 #endif /* _ASM_X86_SCATTERLIST_H */