Commit | Line | Data |
---|---|---|
caab277b | 1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
0db2e5d1 RM |
2 | /* |
3 | * Copyright (C) 2014-2015 ARM Ltd. | |
0db2e5d1 RM |
4 | */ |
5 | #ifndef __DMA_IOMMU_H | |
6 | #define __DMA_IOMMU_H | |
7 | ||
f2042ed2 | 8 | #include <linux/iommu.h> |
0db2e5d1 RM |
9 | |
10 | #ifdef CONFIG_IOMMU_DMA | |
0db2e5d1 | 11 | |
0db2e5d1 RM |
12 | int iommu_get_dma_cookie(struct iommu_domain *domain); |
13 | void iommu_put_dma_cookie(struct iommu_domain *domain); | |
14 | ||
452e69b5 | 15 | int iommu_dma_init_fq(struct iommu_domain *domain); |
0db2e5d1 | 16 | |
273df963 | 17 | void iommu_dma_get_resv_regions(struct device *dev, struct list_head *list); |
44bb7e24 | 18 | |
3542dcb1 RM |
19 | extern bool iommu_dma_forcedac; |
20 | ||
185da893 | 21 | #else /* CONFIG_IOMMU_DMA */ |
0db2e5d1 | 22 | |
452e69b5 RM |
23 | static inline int iommu_dma_init_fq(struct iommu_domain *domain) |
24 | { | |
25 | return -EINVAL; | |
26 | } | |
27 | ||
0db2e5d1 RM |
28 | static inline int iommu_get_dma_cookie(struct iommu_domain *domain) |
29 | { | |
30 | return -ENODEV; | |
31 | } | |
32 | ||
33 | static inline void iommu_put_dma_cookie(struct iommu_domain *domain) | |
34 | { | |
35 | } | |
36 | ||
273df963 RM |
37 | static inline void iommu_dma_get_resv_regions(struct device *dev, struct list_head *list) |
38 | { | |
39 | } | |
40 | ||
0db2e5d1 | 41 | #endif /* CONFIG_IOMMU_DMA */ |
0db2e5d1 | 42 | #endif /* __DMA_IOMMU_H */ |