Merge branch 'for-rmk' of git://git.marvell.com/orion into devel
[linux-block.git] / arch / powerpc / include / asm / scatterlist.h
CommitLineData
89edce0b
SR
1#ifndef _ASM_POWERPC_SCATTERLIST_H
2#define _ASM_POWERPC_SCATTERLIST_H
1da177e4
LT
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
89edce0b 12#ifdef __KERNEL__
1da177e4
LT
13#include <linux/types.h>
14#include <asm/dma.h>
15
16struct scatterlist {
d6ec0842
JA
17#ifdef CONFIG_DEBUG_SG
18 unsigned long sg_magic;
19#endif
18dabf47 20 unsigned long page_link;
1da177e4
LT
21 unsigned int offset;
22 unsigned int length;
23
2138422b 24 /* For TCE or SWIOTLB support */
8168f902 25 dma_addr_t dma_address;
1da177e4
LT
26 u32 dma_length;
27};
28
89edce0b
SR
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 */
1da177e4
LT
36#define sg_dma_address(sg) ((sg)->dma_address)
37#define sg_dma_len(sg) ((sg)->dma_length)
38
89edce0b 39#ifdef __powerpc64__
1da177e4 40#define ISA_DMA_THRESHOLD (~0UL)
89edce0b 41#endif
1da177e4 42
78bdc310
JA
43#define ARCH_HAS_SG_CHAIN
44
89edce0b
SR
45#endif /* __KERNEL__ */
46#endif /* _ASM_POWERPC_SCATTERLIST_H */