blob: d6f57874041d0f80e351dcfeafb27aed21d755a8 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#ifndef _ASM_IA64_SCATTERLIST_H
2#define _ASM_IA64_SCATTERLIST_H
3
4/*
5 * Modified 1998-1999, 2001-2002, 2004
6 * David Mosberger-Tang <davidm@hpl.hp.com>, Hewlett-Packard Co
7 */
8
Jean Delvarea9dfd282007-03-06 02:45:12 -08009#include <asm/types.h>
10
Linus Torvalds1da177e2005-04-16 15:20:36 -070011struct scatterlist {
Jens Axboed6ec0842007-10-22 20:01:06 +020012#ifdef CONFIG_DEBUG_SG
13 unsigned long sg_magic;
14#endif
Jens Axboe18dabf42007-10-22 19:57:20 +020015 unsigned long page_link;
Linus Torvalds1da177e2005-04-16 15:20:36 -070016 unsigned int offset;
17 unsigned int length; /* buffer length */
18
19 dma_addr_t dma_address;
20 unsigned int dma_length;
21};
22
23/*
24 * It used to be that ISA_DMA_THRESHOLD had something to do with the
25 * DMA-limits of ISA-devices. Nowadays, its only remaining use (apart
26 * from the aha1542.c driver, which isn't 64-bit clean anyhow) is to
27 * tell the block-layer (via BLK_BOUNCE_ISA) what the max. physical
28 * address of a page is that is allocated with GFP_DMA. On IA-64,
29 * that's 4GB - 1.
30 */
31#define ISA_DMA_THRESHOLD 0xffffffff
32
Tony Luck7806ca82006-12-13 13:15:10 -080033#define sg_dma_len(sg) ((sg)->dma_length)
34#define sg_dma_address(sg) ((sg)->dma_address)
35
Jens Axboe9b6eccf2007-10-16 11:27:26 +020036#define ARCH_HAS_SG_CHAIN
37
Linus Torvalds1da177e2005-04-16 15:20:36 -070038#endif /* _ASM_IA64_SCATTERLIST_H */