Linux 2.6.28-rc5
[cris-mirror.git] / arch / powerpc / include / asm / scatterlist.h
blobfcf7d55afe4599e3049713156145997fa066e1e3
1 #ifndef _ASM_POWERPC_SCATTERLIST_H
2 #define _ASM_POWERPC_SCATTERLIST_H
3 /*
4 * Copyright (C) 2001 PPC64 Team, IBM Corp
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version
9 * 2 of the License, or (at your option) any later version.
12 #ifdef __KERNEL__
13 #include <linux/types.h>
14 #include <asm/dma.h>
16 struct scatterlist {
17 #ifdef CONFIG_DEBUG_SG
18 unsigned long sg_magic;
19 #endif
20 unsigned long page_link;
21 unsigned int offset;
22 unsigned int length;
24 /* For TCE support */
25 dma_addr_t dma_address;
26 u32 dma_length;
30 * These macros should be used after a dma_map_sg call has been done
31 * to get bus addresses of each of the SG entries and their lengths.
32 * You should only work with the number of sg entries pci_map_sg
33 * returns, or alternatively stop on the first sg_dma_len(sg) which
34 * is 0.
36 #define sg_dma_address(sg) ((sg)->dma_address)
37 #ifdef __powerpc64__
38 #define sg_dma_len(sg) ((sg)->dma_length)
39 #else
40 #define sg_dma_len(sg) ((sg)->length)
41 #endif
43 #ifdef __powerpc64__
44 #define ISA_DMA_THRESHOLD (~0UL)
45 #endif
47 #define ARCH_HAS_SG_CHAIN
49 #endif /* __KERNEL__ */
50 #endif /* _ASM_POWERPC_SCATTERLIST_H */