]>
Commit | Line | Data |
---|---|---|
c2c460f7 HE |
1 | /* shmobile-ipmmu.h |
2 | * | |
3 | * Copyright (C) 2012 Hideki EIRAKU | |
4 | * | |
5 | * This program is free software; you can redistribute it and/or modify | |
6 | * it under the terms of the GNU General Public License as published by | |
7 | * the Free Software Foundation; version 2 of the License. | |
8 | */ | |
9 | ||
10 | #ifndef __SHMOBILE_IPMMU_H__ | |
11 | #define __SHMOBILE_IPMMU_H__ | |
12 | ||
13 | struct shmobile_ipmmu { | |
14 | struct device *dev; | |
15 | void __iomem *ipmmu_base; | |
16 | int tlb_enabled; | |
e87c621d | 17 | spinlock_t flush_lock; |
c2c460f7 HE |
18 | const char * const *dev_names; |
19 | unsigned int num_dev_names; | |
20 | }; | |
21 | ||
22 | #ifdef CONFIG_SHMOBILE_IPMMU_TLB | |
23 | void ipmmu_tlb_flush(struct shmobile_ipmmu *ipmmu); | |
24 | void ipmmu_tlb_set(struct shmobile_ipmmu *ipmmu, unsigned long phys, int size, | |
25 | int asid); | |
26 | int ipmmu_iommu_init(struct shmobile_ipmmu *ipmmu); | |
27 | #else | |
28 | static inline int ipmmu_iommu_init(struct shmobile_ipmmu *ipmmu) | |
29 | { | |
30 | return -EINVAL; | |
31 | } | |
32 | #endif | |
33 | ||
34 | #endif /* __SHMOBILE_IPMMU_H__ */ |