[POWERPC] pasemi: Add flag management functions to dma_lib
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / include / asm-powerpc / scatterlist.h
1 #ifndef _ASM_POWERPC_SCATTERLIST_H
2 #define _ASM_POWERPC_SCATTERLIST_H
3 /*
4 * Copyright (C) 2001 PPC64 Team, IBM Corp
5 *
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.
10 */
11
12 #ifdef __KERNEL__
13 #include <linux/types.h>
14 #include <asm/dma.h>
15
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;
23
24 /* For TCE support */
25 dma_addr_t dma_address;
26 u32 dma_length;
27 };
28
29 /*
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.
35 */
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
42
43 #ifdef __powerpc64__
44 #define ISA_DMA_THRESHOLD (~0UL)
45 #endif
46
47 #define ARCH_HAS_SG_CHAIN
48
49 #endif /* __KERNEL__ */
50 #endif /* _ASM_POWERPC_SCATTERLIST_H */