Lines Matching defs:tbl
53 iommu_tce_table_put(stit->tbl);
85 if (table_group->tables[i] != stit->tbl)
101 struct iommu_table *tbl = NULL;
144 tbl = iommu_tce_table_get(tbltmp);
148 if (!tbl)
153 if (tbl != stit->tbl)
158 iommu_tce_table_put(tbl);
173 iommu_tce_table_put(tbl);
177 stit->tbl = tbl;
381 long shift = stit->tbl->it_page_shift;
403 u64 *tbl;
419 tbl = page_to_virt(page);
421 tbl[idx % TCES_PER_PAGE] = tce;
425 struct iommu_table *tbl, unsigned long entry)
428 unsigned long subpages = 1ULL << (stt->page_shift - tbl->it_page_shift);
429 unsigned long io_entry = entry << (stt->page_shift - tbl->it_page_shift);
435 iommu_tce_xchg_no_kill(mm, tbl, io_entry + i, &hpa, &dir);
440 struct iommu_table *tbl, unsigned long entry)
443 const unsigned long pgsize = 1ULL << tbl->it_page_shift;
444 __be64 *pua = IOMMU_TABLE_USERSPACE_ENTRY_RO(tbl, entry);
461 struct iommu_table *tbl, unsigned long entry)
467 if (WARN_ON_ONCE(iommu_tce_xchg_no_kill(kvm->mm, tbl, entry, &hpa,
474 ret = kvmppc_tce_iommu_mapped_dec(kvm, tbl, entry);
476 iommu_tce_xchg_no_kill(kvm->mm, tbl, entry, &hpa, &dir);
482 struct kvmppc_spapr_tce_table *stt, struct iommu_table *tbl,
486 unsigned long subpages = 1ULL << (stt->page_shift - tbl->it_page_shift);
490 ret = kvmppc_tce_iommu_do_unmap(kvm, tbl, io_entry + i);
495 iommu_tce_kill(tbl, io_entry, subpages);
500 static long kvmppc_tce_iommu_do_map(struct kvm *kvm, struct iommu_table *tbl,
506 __be64 *pua = IOMMU_TABLE_USERSPACE_ENTRY(tbl, entry);
513 mem = mm_iommu_lookup(kvm->mm, ua, 1ULL << tbl->it_page_shift);
518 if (WARN_ON_ONCE(mm_iommu_ua_to_hpa(mem, ua, tbl->it_page_shift, &hpa)))
524 ret = iommu_tce_xchg_no_kill(kvm->mm, tbl, entry, &hpa, &dir);
531 kvmppc_tce_iommu_mapped_dec(kvm, tbl, entry);
539 struct kvmppc_spapr_tce_table *stt, struct iommu_table *tbl,
544 unsigned long subpages = 1ULL << (stt->page_shift - tbl->it_page_shift);
548 ++i, pgoff += IOMMU_PAGE_SIZE(tbl)) {
550 ret = kvmppc_tce_iommu_do_map(kvm, tbl,
556 iommu_tce_kill(tbl, io_entry, subpages);
599 stit->tbl, entry);
601 ret = kvmppc_tce_iommu_map(vcpu->kvm, stt, stit->tbl,
606 kvmppc_clear_tce(vcpu->kvm->mm, stt, stit->tbl, entry);
693 stit->tbl, entry + i, ua,
697 kvmppc_clear_tce(vcpu->kvm->mm, stt, stit->tbl,
738 stit->tbl, entry + i);
747 kvmppc_clear_tce(vcpu->kvm->mm, stt, stit->tbl, entry + i);