more changes on original files
[linux-2.4.git] / include / asm-parisc / scatterlist.h
1 #ifndef _ASM_PARISC_SCATTERLIST_H
2 #define _ASM_PARISC_SCATTERLIST_H
3
4 #include <asm/page.h>
5
6 struct scatterlist {
7         /* This will disappear in 2.5.x */
8         char *address;
9
10         /* page/offset only valid if ADDRESS member is NULL.
11         ** Needed to support CONFIG_HIGHMEM on x386.
12         ** I still think davem is a dork for forcing other
13         ** arches to add this to 2.4.x. -ggg
14         */
15         struct page *page;
16         unsigned int offset;
17
18         unsigned int length;
19
20         /* an IOVA can be 64-bits on some PA-Risc platforms. */
21         dma_addr_t iova;        /* I/O Virtual Address */
22         __u32      iova_length; /* bytes mapped */
23 };
24
25 #define sg_virt_addr(sg) (((sg)->address) ? ((sg)->address) : \
26                 (page_address((sg)->page) + (sg)->offset))
27
28 #define sg_dma_address(sg) ((sg)->iova)
29 #define sg_dma_len(sg)     ((sg)->iova_length)
30
31 #define ISA_DMA_THRESHOLD (~0UL)
32
33 #endif /* _ASM_PARISC_SCATTERLIST_H */