| #ifndef _ASM_POWERPC_SCATTERLIST_H |
| #define _ASM_POWERPC_SCATTERLIST_H |
| /* |
| * Copyright (C) 2001 PPC64 Team, IBM Corp |
| * |
| * This program is free software; you can redistribute it and/or |
| * modify it under the terms of the GNU General Public License |
| * as published by the Free Software Foundation; either version |
| * 2 of the License, or (at your option) any later version. |
| */ |
| |
| #ifdef __KERNEL__ |
| #include <linux/types.h> |
| #include <asm/dma.h> |
| |
| struct scatterlist { |
| struct page *page; |
| unsigned int offset; |
| unsigned int length; |
| |
| /* For TCE support */ |
| dma_addr_t dma_address; |
| u32 dma_length; |
| }; |
| |
| /* |
| * These macros should be used after a dma_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, or alternatively stop on the first sg_dma_len(sg) which |
| * is 0. |
| */ |
| #define sg_dma_address(sg) ((sg)->dma_address) |
| #ifdef __powerpc64__ |
| #define sg_dma_len(sg) ((sg)->dma_length) |
| #else |
| #define sg_dma_len(sg) ((sg)->length) |
| #endif |
| |
| #ifdef __powerpc64__ |
| #define ISA_DMA_THRESHOLD (~0UL) |
| #endif |
| |
| #endif /* __KERNEL__ */ |
| #endif /* _ASM_POWERPC_SCATTERLIST_H */ |