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#ifdef CONFIG_DEBUG_SG 18 unsigned long sg_magic; 19#endif 20 unsigned long page_link; 21 unsigned int offset; 22 unsigned int length; 23 24 /* For TCE or SWIOTLB support */ 25 dma_addr_t dma_address; 26 u32 dma_length; 27}; 28 29/* 30 * These macros should be used after a dma_map_sg call has been done 31 * to get bus addresses of each of the SG entries and their lengths. 32 * You should only work with the number of sg entries pci_map_sg 33 * returns, or alternatively stop on the first sg_dma_len(sg) which 34 * is 0. 35 */ 36#define sg_dma_address(sg) ((sg)->dma_address) 37#define sg_dma_len(sg) ((sg)->dma_length) 38 39#ifdef __powerpc64__ 40#define ISA_DMA_THRESHOLD (~0UL) 41#endif 42 43#define ARCH_HAS_SG_CHAIN 44 45#endif /* __KERNEL__ */ 46#endif /* _ASM_POWERPC_SCATTERLIST_H */ 47