1 #ifndef _ASM_X86_SCATTERLIST_H 2 #define _ASM_X86_SCATTERLIST_H 3 4 #include <asm/types.h> 5 6 struct scatterlist { 7 #ifdef CONFIG_DEBUG_SG 8 unsigned long sg_magic; 9 #endif 10 unsigned long page_link; 11 unsigned int offset; 12 unsigned int length; 13 dma_addr_t dma_address; 14 unsigned int dma_length; 15 }; 16 17 #define ARCH_HAS_SG_CHAIN 18 #define ISA_DMA_THRESHOLD (0x00ffffff) 19 20 /* 21 * These macros should be used after a pci_map_sg call has been done 22 * to get bus addresses of each of the SG entries and their lengths. 23 * You should only work with the number of sg entries pci_map_sg 24 * returns. 25 */ 26 #define sg_dma_address(sg) ((sg)->dma_address) 27 #ifdef CONFIG_X86_32 28 # define sg_dma_len(sg) ((sg)->length) 29 #else 30 # define sg_dma_len(sg) ((sg)->dma_length) 31 #endif 32 33 #endif /* _ASM_X86_SCATTERLIST_H */ 34