Merge branch 'upstream' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6
[linux-2.6] / include / asm-arm / scatterlist.h
1 #ifndef _ASMARM_SCATTERLIST_H
2 #define _ASMARM_SCATTERLIST_H
3
4 #include <asm/memory.h>
5 #include <asm/types.h>
6
7 struct scatterlist {
8         struct page     *page;          /* buffer page                   */
9         unsigned int    offset;         /* buffer offset                 */
10         dma_addr_t      dma_address;    /* dma address                   */
11         unsigned int    length;         /* length                        */
12         char            *__address;     /* for set_dma_addr              */
13 };
14
15 /*
16  * These macros should be used after a pci_map_sg call has been done
17  * to get bus addresses of each of the SG entries and their lengths.
18  * You should only work with the number of sg entries pci_map_sg
19  * returns, or alternatively stop on the first sg_dma_len(sg) which
20  * is 0.
21  */
22 #define sg_dma_address(sg)      ((sg)->dma_address)
23 #define sg_dma_len(sg)          ((sg)->length)
24
25 #endif /* _ASMARM_SCATTERLIST_H */