Lines Matching refs:tbl
576 static int pnv_tce_build(struct iommu_table *tbl, long index, long npages, in pnv_tce_build() argument
589 tces = tcep = ((__be64 *)tbl->it_base) + index - tbl->it_offset; in pnv_tce_build()
590 rpn = __pa(uaddr) >> tbl->it_page_shift; in pnv_tce_build()
594 (rpn++ << tbl->it_page_shift)); in pnv_tce_build()
600 if (tbl->it_type & TCE_PCI_SWINV_CREATE) in pnv_tce_build()
601 pnv_pci_ioda_tce_invalidate(tbl, tces, tcep - 1, rm); in pnv_tce_build()
606 static int pnv_tce_build_vm(struct iommu_table *tbl, long index, long npages, in pnv_tce_build_vm() argument
611 return pnv_tce_build(tbl, index, npages, uaddr, direction, attrs, in pnv_tce_build_vm()
615 static void pnv_tce_free(struct iommu_table *tbl, long index, long npages, in pnv_tce_free() argument
620 tces = tcep = ((__be64 *)tbl->it_base) + index - tbl->it_offset; in pnv_tce_free()
625 if (tbl->it_type & TCE_PCI_SWINV_FREE) in pnv_tce_free()
626 pnv_pci_ioda_tce_invalidate(tbl, tces, tcep - 1, rm); in pnv_tce_free()
629 static void pnv_tce_free_vm(struct iommu_table *tbl, long index, long npages) in pnv_tce_free_vm() argument
631 pnv_tce_free(tbl, index, npages, false); in pnv_tce_free_vm()
634 static unsigned long pnv_tce_get(struct iommu_table *tbl, long index) in pnv_tce_get() argument
636 return ((u64 *)tbl->it_base)[index - tbl->it_offset]; in pnv_tce_get()
639 static int pnv_tce_build_rm(struct iommu_table *tbl, long index, long npages, in pnv_tce_build_rm() argument
644 return pnv_tce_build(tbl, index, npages, uaddr, direction, attrs, true); in pnv_tce_build_rm()
647 static void pnv_tce_free_rm(struct iommu_table *tbl, long index, long npages) in pnv_tce_free_rm() argument
649 pnv_tce_free(tbl, index, npages, true); in pnv_tce_free_rm()
652 void pnv_pci_setup_iommu_table(struct iommu_table *tbl, in pnv_pci_setup_iommu_table() argument
656 tbl->it_blocksize = 16; in pnv_pci_setup_iommu_table()
657 tbl->it_base = (unsigned long)tce_mem; in pnv_pci_setup_iommu_table()
658 tbl->it_page_shift = page_shift; in pnv_pci_setup_iommu_table()
659 tbl->it_offset = dma_offset >> tbl->it_page_shift; in pnv_pci_setup_iommu_table()
660 tbl->it_index = 0; in pnv_pci_setup_iommu_table()
661 tbl->it_size = tce_size >> 3; in pnv_pci_setup_iommu_table()
662 tbl->it_busno = 0; in pnv_pci_setup_iommu_table()
663 tbl->it_type = TCE_PCI; in pnv_pci_setup_iommu_table()