Lines Matching refs:iommu
20 #include <asm/iommu.h>
242 struct iommu *iommu = pbm->iommu;
249 spin_lock_irqsave(&iommu->lock, flags);
250 control = upa_readq(iommu->iommu_control);
257 upa_writeq(control, iommu->iommu_control);
288 iommu->iommu_control);
304 upa_writeq(control, iommu->iommu_control);
346 spin_unlock_irqrestore(&iommu->lock, flags);
1140 struct iommu *iommu = pbm->iommu;
1172 /* Register addresses, SCHIZO has iommu ctx flushing. */
1173 iommu->iommu_control = pbm->pbm_regs + SCHIZO_IOMMU_CONTROL;
1174 iommu->iommu_tsbbase = pbm->pbm_regs + SCHIZO_IOMMU_TSBBASE;
1175 iommu->iommu_flush = pbm->pbm_regs + SCHIZO_IOMMU_FLUSH;
1176 iommu->iommu_tags = iommu->iommu_flush + (0xa580UL - 0x0210UL);
1177 iommu->iommu_ctxflush = pbm->pbm_regs + SCHIZO_IOMMU_CTXFLUSH;
1182 iommu->write_complete_reg = pbm->controller_regs + 0x10000UL;
1187 control = upa_readq(iommu->iommu_control);
1189 upa_writeq(control, iommu->iommu_control);
1201 err = iommu_table_init(iommu, tsbsize * 8 * 1024, vdma[0], dma_mask,
1208 upa_writeq(__pa(iommu->page_table), iommu->iommu_tsbbase);
1210 control = upa_readq(iommu->iommu_control);
1222 upa_writeq(control, iommu->iommu_control);
1422 struct iommu *iommu;
1437 iommu = kzalloc(sizeof(struct iommu), GFP_KERNEL);
1438 if (!iommu) {
1439 printk(KERN_ERR PFX "Cannot allocate PBM A iommu.\n");
1443 pbm->iommu = iommu;
1456 kfree(pbm->iommu);