linux/arch/powerpc/include/asm/device.h
<<
>>
Prefs
   1/*
   2 * Arch specific extensions to struct device
   3 *
   4 * This file is released under the GPLv2
   5 */
   6#ifndef _ASM_POWERPC_DEVICE_H
   7#define _ASM_POWERPC_DEVICE_H
   8
   9struct dma_map_ops;
  10struct device_node;
  11
  12/*
  13 * Arch extensions to struct device.
  14 *
  15 * When adding fields, consider macio_add_one_device in
  16 * drivers/macintosh/macio_asic.c
  17 */
  18struct dev_archdata {
  19        /* DMA operations on that device */
  20        struct dma_map_ops      *dma_ops;
  21
  22        /*
  23         * When an iommu is in use, dma_data is used as a ptr to the base of the
  24         * iommu_table.  Otherwise, it is a simple numerical offset.
  25         */
  26        union {
  27                dma_addr_t      dma_offset;
  28                void            *iommu_table_base;
  29        } dma_data;
  30
  31#ifdef CONFIG_SWIOTLB
  32        dma_addr_t              max_direct_dma_addr;
  33#endif
  34#ifdef CONFIG_EEH
  35        struct eeh_dev          *edev;
  36#endif
  37#ifdef CONFIG_FAIL_IOMMU
  38        int fail_iommu;
  39#endif
  40};
  41
  42struct pdev_archdata {
  43        u64 dma_mask;
  44};
  45
  46#define ARCH_HAS_DMA_GET_REQUIRED_MASK
  47
  48#endif /* _ASM_POWERPC_DEVICE_H */
  49