Merge v3.13-rc6 into char-misc-next
[platform/adaptation/renesas_rcar/renesas_kernel.git] / arch / powerpc / include / asm / device.h
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
9 struct dma_map_ops;
10 struct 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  */
18 struct 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_IOMMU_API
32         void                    *iommu_domain;
33 #endif
34 #ifdef CONFIG_SWIOTLB
35         dma_addr_t              max_direct_dma_addr;
36 #endif
37 #ifdef CONFIG_EEH
38         struct eeh_dev          *edev;
39 #endif
40 #ifdef CONFIG_FAIL_IOMMU
41         int fail_iommu;
42 #endif
43 };
44
45 struct pdev_archdata {
46         u64 dma_mask;
47 };
48
49 #define ARCH_HAS_DMA_GET_REQUIRED_MASK
50
51 #endif /* _ASM_POWERPC_DEVICE_H */