2 * Arch specific extensions to struct device
4 * This file is released under the GPLv2
6 #ifndef _ASM_POWERPC_DEVICE_H
7 #define _ASM_POWERPC_DEVICE_H
16 * Arch extensions to struct device.
18 * When adding fields, consider macio_add_one_device in
19 * drivers/macintosh/macio_asic.c
23 * Set to %true if the dma_iommu_ops are requested to use a direct
24 * window instead of dynamically mapping memory.
26 bool iommu_bypass : 1;
28 * These two used to be a union. However, with the hybrid ops we need
29 * both so here we store both a DMA offset for direct mappings and
30 * an iommu_table for remapped DMA.
32 dma_addr_t dma_offset;
35 struct iommu_table *iommu_table_base;
38 #ifdef CONFIG_IOMMU_API
42 dma_addr_t max_direct_dma_addr;
45 struct pci_dn *pci_data;
50 #ifdef CONFIG_FAIL_IOMMU
53 #ifdef CONFIG_CXL_BASE
54 struct cxl_context *cxl_ctx;
58 struct pdev_archdata {
62 #define ARCH_HAS_DMA_GET_REQUIRED_MASK
64 #endif /* _ASM_POWERPC_DEVICE_H */