blob: 0e7d997a34be7c4aaf16da9201c7b2700de4157e [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#ifndef _I386_SCATTERLIST_H
2#define _I386_SCATTERLIST_H
3
Jean Delvarea9dfd282007-03-06 02:45:12 -08004#include <asm/types.h>
5
Linus Torvalds1da177e2005-04-16 15:20:36 -07006struct scatterlist {
Jens Axboed6ec0842007-10-22 20:01:06 +02007#ifdef CONFIG_DEBUG_SG
8 unsigned long sg_magic;
9#endif
Jens Axboe18dabf42007-10-22 19:57:20 +020010 unsigned long page_link;
Linus Torvalds1da177e2005-04-16 15:20:36 -070011 unsigned int offset;
12 dma_addr_t dma_address;
13 unsigned int length;
14};
15
Jens Axboe38d37552007-05-11 12:57:30 +020016#define ARCH_HAS_SG_CHAIN
17
Linus Torvalds1da177e2005-04-16 15:20:36 -070018/* These macros should be used after a pci_map_sg call has been done
19 * to get bus addresses of each of the SG entries and their lengths.
20 * You should only work with the number of sg entries pci_map_sg
21 * returns.
22 */
23#define sg_dma_address(sg) ((sg)->dma_address)
24#define sg_dma_len(sg) ((sg)->length)
25
26#define ISA_DMA_THRESHOLD (0x00ffffff)
27
28#endif /* !(_I386_SCATTERLIST_H) */