Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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};
35
36struct pdev_archdata {
37 u64 dma_mask;
38};
39
40#define ARCH_HAS_DMA_GET_REQUIRED_MASK
41
42#endif /* _ASM_POWERPC_DEVICE_H */