patch-2.4.13 linux/include/asm-ppc/scatterlist.h
Next file: linux/include/asm-ppc/types.h
Previous file: linux/include/asm-ppc/ppcboot.h
Back to the patch index
Back to the overall index
- Lines: 36
- Date:
Sun Oct 21 10:13:07 2001
- Orig file:
v2.4.12/linux/include/asm-ppc/scatterlist.h
- Orig date:
Mon May 21 15:02:06 2001
diff -u --recursive --new-file v2.4.12/linux/include/asm-ppc/scatterlist.h linux/include/asm-ppc/scatterlist.h
@@ -1,5 +1,5 @@
/*
- * BK Id: SCCS/s.scatterlist.h 1.5 05/17/01 18:14:25 cort
+ * BK Id: SCCS/s.scatterlist.h 1.9 10/15/01 22:51:33 paulus
*/
#ifdef __KERNEL__
#ifndef _PPC_SCATTERLIST_H
@@ -8,12 +8,24 @@
#include <asm/dma.h>
struct scatterlist {
- char * address; /* Location data is to be transferred to */
- char * alt_address; /* Location of actual if address is a
- * dma indirect buffer. NULL otherwise */
- unsigned int length;
+ char *address; /* Location data is to be transferred to,
+ * or NULL for highmem page */
+ struct page * page; /* Location for highmem page, if any */
+ unsigned int offset; /* for highmem, page offset */
+
+ dma_addr_t dma_address; /* phys/bus dma address */
+ unsigned int length; /* length */
};
+/*
+ * 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, or alternatively stop on the first sg_dma_len(sg) which
+ * is 0.
+ */
+#define sg_dma_address(sg) ((sg)->dma_address)
+#define sg_dma_len(sg) ((sg)->length)
#endif /* !(_PPC_SCATTERLIST_H) */
#endif /* __KERNEL__ */
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)