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
17 * Arch extensions to struct device.
19 * When adding fields, consider macio_add_one_device in
20 * drivers/macintosh/macio_asic.c
23 /* DMA operations on that device */
24 struct dma_map_ops *dma_ops;
27 * These two used to be a union. However, with the hybrid ops we need
28 * both so here we store both a DMA offset for direct mappings and
29 * an iommu_table for remapped DMA.
31 dma_addr_t dma_offset;
34 struct iommu_table *iommu_table_base;
37 #ifdef CONFIG_IOMMU_API
41 dma_addr_t max_direct_dma_addr;
44 struct pci_dn *pci_data;
49 #ifdef CONFIG_FAIL_IOMMU
52 #ifdef CONFIG_CXL_BASE
53 struct cxl_context *cxl_ctx;
57 struct pdev_archdata {
61 #define ARCH_HAS_DMA_GET_REQUIRED_MASK
63 #endif /* _ASM_POWERPC_DEVICE_H */