linux/drivers/iommu/shmobile-ipmmu.h
<<
>>
Prefs
   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
  13struct shmobile_ipmmu {
  14        struct device *dev;
  15        void __iomem *ipmmu_base;
  16        int tlb_enabled;
  17        struct mutex flush_lock;
  18        const char * const *dev_names;
  19        unsigned int num_dev_names;
  20};
  21
  22#ifdef CONFIG_SHMOBILE_IPMMU_TLB
  23void ipmmu_tlb_flush(struct shmobile_ipmmu *ipmmu);
  24void ipmmu_tlb_set(struct shmobile_ipmmu *ipmmu, unsigned long phys, int size,
  25                   int asid);
  26int ipmmu_iommu_init(struct shmobile_ipmmu *ipmmu);
  27#else
  28static inline int ipmmu_iommu_init(struct shmobile_ipmmu *ipmmu)
  29{
  30        return -EINVAL;
  31}
  32#endif
  33
  34#endif /* __SHMOBILE_IPMMU_H__ */
  35