1#ifndef _BLACKFIN_SCATTERLIST_H 2#define _BLACKFIN_SCATTERLIST_H 3 4#include <linux/mm.h> 5 6struct scatterlist { 7 struct page *page; 8 unsigned int offset; 9 dma_addr_t dma_address; 10 unsigned int length; 11}; 12 13/* 14 * These macros should be used after a pci_map_sg call has been done 15 * to get bus addresses of each of the SG entries and their lengths. 16 * You should only work with the number of sg entries pci_map_sg 17 * returns, or alternatively stop on the first sg_dma_len(sg) which 18 * is 0. 19 */ 20#define sg_address(sg) (page_address((sg)->page) + (sg)->offset) 21#define sg_dma_address(sg) ((sg)->dma_address) 22#define sg_dma_len(sg) ((sg)->length) 23 24#define ISA_DMA_THRESHOLD (0xffffffff) 25 26#endif /* !(_BLACKFIN_SCATTERLIST_H) */ 27