blob: 810080bb0a2b2cfa498c39fed32c11d2897763bd [file] [log] [blame]
Chris Zankel9a8fd552005-06-23 22:01:26 -07001/*
2 * include/asm-xtensa/scatterlist.h
3 *
4 * This file is subject to the terms and conditions of the GNU General Public
5 * License. See the file "COPYING" in the main directory of this archive
6 * for more details.
7 *
8 * Copyright (C) 2001 - 2005 Tensilica Inc.
9 */
10
11#ifndef _XTENSA_SCATTERLIST_H
12#define _XTENSA_SCATTERLIST_H
13
Jean Delvarea9dfd282007-03-06 02:45:12 -080014#include <asm/types.h>
15
Chris Zankel9a8fd552005-06-23 22:01:26 -070016struct scatterlist {
Jens Axboed6ec0842007-10-22 20:01:06 +020017#ifdef CONFIG_DEBUG_SG
18 unsigned long sg_magic;
19#endif
Jens Axboe18dabf42007-10-22 19:57:20 +020020 unsigned long page_link;
Chris Zankel9a8fd552005-06-23 22:01:26 -070021 unsigned int offset;
22 dma_addr_t dma_address;
23 unsigned int length;
24};
25
26/*
27 * These macros should be used after a pci_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#define sg_dma_len(sg) ((sg)->length)
35
36
37#define ISA_DMA_THRESHOLD (~0UL)
38
39#endif /* _XTENSA_SCATTERLIST_H */