#ifndef _ASM_X86_SCATTERLIST_H | |
#define _ASM_X86_SCATTERLIST_H | |
#include <asm/types.h> | |
struct scatterlist { | |
#ifdef CONFIG_DEBUG_SG | |
unsigned long sg_magic; | |
#endif | |
unsigned long page_link; | |
unsigned int offset; | |
unsigned int length; | |
dma_addr_t dma_address; | |
#ifdef CONFIG_X86_64 | |
unsigned int dma_length; | |
#endif | |
}; | |
#define ARCH_HAS_SG_CHAIN | |
#define ISA_DMA_THRESHOLD (0x00ffffff) | |
/* | |
* These macros should be used after a pci_map_sg call has been done | |
* to get bus addresses of each of the SG entries and their lengths. | |
* You should only work with the number of sg entries pci_map_sg | |
* returns. | |
*/ | |
#define sg_dma_address(sg) ((sg)->dma_address) | |
#ifdef CONFIG_X86_32 | |
# define sg_dma_len(sg) ((sg)->length) | |
#else | |
# define sg_dma_len(sg) ((sg)->dma_length) | |
#endif | |
#endif |