Searched refs:ipmmu (Results 1 - 6 of 6) sorted by relevance
/linux-4.1.27/drivers/iommu/ |
H A D | shmobile-ipmmu.c | 16 #include "shmobile-ipmmu.h" 27 static void ipmmu_reg_write(struct shmobile_ipmmu *ipmmu, unsigned long reg_off, ipmmu_reg_write() argument 30 iowrite32(data, ipmmu->ipmmu_base + reg_off); ipmmu_reg_write() 33 void ipmmu_tlb_flush(struct shmobile_ipmmu *ipmmu) ipmmu_tlb_flush() argument 35 if (!ipmmu) ipmmu_tlb_flush() 38 spin_lock(&ipmmu->flush_lock); ipmmu_tlb_flush() 39 if (ipmmu->tlb_enabled) ipmmu_tlb_flush() 40 ipmmu_reg_write(ipmmu, IMCTR1, IMCTR1_FLUSH | IMCTR1_TLBEN); ipmmu_tlb_flush() 42 ipmmu_reg_write(ipmmu, IMCTR1, IMCTR1_FLUSH); ipmmu_tlb_flush() 43 spin_unlock(&ipmmu->flush_lock); ipmmu_tlb_flush() 46 void ipmmu_tlb_set(struct shmobile_ipmmu *ipmmu, unsigned long phys, int size, ipmmu_tlb_set() argument 49 if (!ipmmu) ipmmu_tlb_set() 52 spin_lock(&ipmmu->flush_lock); ipmmu_tlb_set() 55 ipmmu->tlb_enabled = 0; ipmmu_tlb_set() 58 ipmmu_reg_write(ipmmu, IMTTBCR, 1); ipmmu_tlb_set() 59 ipmmu->tlb_enabled = 1; ipmmu_tlb_set() 62 ipmmu_reg_write(ipmmu, IMTTBCR, 2); ipmmu_tlb_set() 63 ipmmu->tlb_enabled = 1; ipmmu_tlb_set() 66 ipmmu_reg_write(ipmmu, IMTTBCR, 3); ipmmu_tlb_set() 67 ipmmu->tlb_enabled = 1; ipmmu_tlb_set() 70 ipmmu_reg_write(ipmmu, IMTTBCR, 4); ipmmu_tlb_set() 71 ipmmu->tlb_enabled = 1; ipmmu_tlb_set() 74 ipmmu_reg_write(ipmmu, IMTTBCR, 5); ipmmu_tlb_set() 75 ipmmu->tlb_enabled = 1; ipmmu_tlb_set() 78 ipmmu_reg_write(ipmmu, IMTTBCR, 6); ipmmu_tlb_set() 79 ipmmu->tlb_enabled = 1; ipmmu_tlb_set() 82 ipmmu_reg_write(ipmmu, IMTTBCR, 7); ipmmu_tlb_set() 83 ipmmu->tlb_enabled = 1; ipmmu_tlb_set() 86 ipmmu_reg_write(ipmmu, IMTTBR, phys); ipmmu_tlb_set() 87 ipmmu_reg_write(ipmmu, IMASID, asid); ipmmu_tlb_set() 88 spin_unlock(&ipmmu->flush_lock); ipmmu_tlb_set() 93 struct shmobile_ipmmu *ipmmu; ipmmu_probe() local 97 ipmmu = devm_kzalloc(&pdev->dev, sizeof(*ipmmu), GFP_KERNEL); ipmmu_probe() 98 if (!ipmmu) { ipmmu_probe() 102 spin_lock_init(&ipmmu->flush_lock); ipmmu_probe() 103 ipmmu->dev = &pdev->dev; ipmmu_probe() 106 ipmmu->ipmmu_base = devm_ioremap_resource(&pdev->dev, res); ipmmu_probe() 107 if (IS_ERR(ipmmu->ipmmu_base)) ipmmu_probe() 108 return PTR_ERR(ipmmu->ipmmu_base); ipmmu_probe() 110 ipmmu->dev_names = pdata->dev_names; ipmmu_probe() 111 ipmmu->num_dev_names = pdata->num_dev_names; ipmmu_probe() 112 platform_set_drvdata(pdev, ipmmu); ipmmu_probe() 113 ipmmu_reg_write(ipmmu, IMCTR1, 0x0); /* disable TLB */ ipmmu_probe() 114 ipmmu_reg_write(ipmmu, IMCTR2, 0x0); /* disable PMB */ ipmmu_probe() 115 return ipmmu_iommu_init(ipmmu); ipmmu_probe() 121 .name = "ipmmu",
|
H A D | shmobile-ipmmu.h | 1 /* shmobile-ipmmu.h 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) ipmmu_iommu_init() argument
|
H A D | shmobile-iommu.c | 17 #include "shmobile-ipmmu.h" 37 struct shmobile_ipmmu *ipmmu; member in struct:shmobile_iommu_archdata 142 ipmmu_tlb_set(archdata->ipmmu, sh_domain->l1.handle, L1_SIZE, shmobile_iommu_attach_device() 144 ipmmu_tlb_flush(archdata->ipmmu); shmobile_iommu_attach_device() 169 ipmmu_tlb_set(archdata->ipmmu, 0, 0, 0); shmobile_iommu_detach_device() 170 ipmmu_tlb_flush(archdata->ipmmu); shmobile_iommu_detach_device() 184 ipmmu_tlb_flush(archdata->ipmmu); domain_tlb_flush() 332 static int find_dev_name(struct shmobile_ipmmu *ipmmu, const char *dev_name) find_dev_name() argument 334 unsigned int i, n = ipmmu->num_dev_names; find_dev_name() 337 if (strcmp(ipmmu->dev_names[i], dev_name) == 0) find_dev_name() 348 if (!find_dev_name(archdata->ipmmu, dev_name(dev))) shmobile_iommu_add_device() 377 int ipmmu_iommu_init(struct shmobile_ipmmu *ipmmu) ipmmu_iommu_init() argument 398 archdata->ipmmu = ipmmu; ipmmu_iommu_init()
|
H A D | ipmmu-vmsa.c | 858 { .compatible = "renesas,ipmmu-vmsa", }, 864 .name = "ipmmu-vmsa",
|
/linux-4.1.27/arch/arm/mach-shmobile/ |
H A D | setup-r8a7740.c | 303 .name = "ipmmu",
|
H A D | setup-sh73a0.c | 588 .name = "ipmmu",
|
Completed in 98 milliseconds