1#ifndef _ASM_POWERPC_SCATTERLIST_H 2#define _ASM_POWERPC_SCATTERLIST_H 3/* 4 * Copyright (C) 2001 PPC64 Team, IBM Corp 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License 8 * as published by the Free Software Foundation; either version 9 * 2 of the License, or (at your option) any later version. 10 */ 11 12#ifdef __KERNEL__ 13#include <linux/types.h> 14#include <asm/dma.h> 15 16struct scatterlist { 17 struct page *page; 18 unsigned int offset; 19 unsigned int length; 20 21 /* For TCE support */ 22 dma_addr_t dma_address; 23 u32 dma_length; 24}; 25 26/* 27 * These macros should be used after a dma_map_sg call has been done 28 * to get bus addresses of each of the SG entries and their lengths. 29 * You should only work with the number of sg entries pci_map_sg 30 * returns, or alternatively stop on the first sg_dma_len(sg) which 31 * is 0. 32 */ 33#define sg_dma_address(sg) ((sg)->dma_address) 34#ifdef __powerpc64__ 35#define sg_dma_len(sg) ((sg)->dma_length) 36#else 37#define sg_dma_len(sg) ((sg)->length) 38#endif 39 40#ifdef __powerpc64__ 41#define ISA_DMA_THRESHOLD (~0UL) 42#endif 43 44#endif /* __KERNEL__ */ 45#endif /* _ASM_POWERPC_SCATTERLIST_H */ 46