PM / sleep: Asynchronous threads for suspend_noirq
[linux/fpc-iii.git] / drivers / iommu / shmobile-ipmmu.h
blob9524743ca1fba781a695b4a15c950a12fcd87b18
1 /* shmobile-ipmmu.h
3 * Copyright (C) 2012 Hideki EIRAKU
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 */
10 #ifndef __SHMOBILE_IPMMU_H__
11 #define __SHMOBILE_IPMMU_H__
13 struct shmobile_ipmmu {
14 struct device *dev;
15 void __iomem *ipmmu_base;
16 int tlb_enabled;
17 spinlock_t flush_lock;
18 const char * const *dev_names;
19 unsigned int num_dev_names;
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)
30 return -EINVAL;
32 #endif
34 #endif /* __SHMOBILE_IPMMU_H__ */