linux/arch/powerpc/include/asm/scatterlist.h
<<
>>
Prefs
   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 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#ifdef __powerpc64__
  38#define sg_dma_len(sg)          ((sg)->dma_length)
  39#else
  40#define sg_dma_len(sg)          ((sg)->length)
  41#endif
  42
  43#ifdef __powerpc64__
  44#define ISA_DMA_THRESHOLD       (~0UL)
  45#endif
  46
  47#define ARCH_HAS_SG_CHAIN
  48
  49#endif /* __KERNEL__ */
  50#endif /* _ASM_POWERPC_SCATTERLIST_H */
  51