diff options
Diffstat (limited to 'include/asm-arm/scatterlist.h')
-rw-r--r-- | include/asm-arm/scatterlist.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/include/asm-arm/scatterlist.h b/include/asm-arm/scatterlist.h new file mode 100644 index 000000000000..83b876fb04cc --- /dev/null +++ b/include/asm-arm/scatterlist.h | |||
@@ -0,0 +1,25 @@ | |||
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 */ | ||