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.
10 #ifndef __SHMOBILE_IPMMU_H__
11 #define __SHMOBILE_IPMMU_H__
13 struct shmobile_ipmmu {
15 void __iomem *ipmmu_base;
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,
26 int ipmmu_iommu_init(struct shmobile_ipmmu *ipmmu);
28 static inline int ipmmu_iommu_init(struct shmobile_ipmmu *ipmmu)
34 #endif /* __SHMOBILE_IPMMU_H__ */