Lines Matching refs:stit

50 	struct kvmppc_spapr_tce_iommu_table *stit = container_of(head,  in kvm_spapr_tce_iommu_table_free()  local
53 iommu_tce_table_put(stit->tbl); in kvm_spapr_tce_iommu_table_free()
55 kfree(stit); in kvm_spapr_tce_iommu_table_free()
60 struct kvmppc_spapr_tce_iommu_table *stit = container_of(kref, in kvm_spapr_tce_liobn_put() local
63 list_del_rcu(&stit->next); in kvm_spapr_tce_liobn_put()
65 call_rcu(&stit->rcu, kvm_spapr_tce_iommu_table_free); in kvm_spapr_tce_liobn_put()
73 struct kvmppc_spapr_tce_iommu_table *stit, *tmp; in kvm_spapr_tce_release_iommu_group() local
83 list_for_each_entry_safe(stit, tmp, &stt->iommu_tables, next) { in kvm_spapr_tce_release_iommu_group()
85 if (table_group->tables[i] != stit->tbl) in kvm_spapr_tce_release_iommu_group()
88 kref_put(&stit->kref, kvm_spapr_tce_liobn_put); in kvm_spapr_tce_release_iommu_group()
104 struct kvmppc_spapr_tce_iommu_table *stit; in kvm_spapr_tce_attach_iommu_group() local
152 list_for_each_entry_rcu(stit, &stt->iommu_tables, next) { in kvm_spapr_tce_attach_iommu_group()
153 if (tbl != stit->tbl) in kvm_spapr_tce_attach_iommu_group()
156 if (!kref_get_unless_zero(&stit->kref)) { in kvm_spapr_tce_attach_iommu_group()
171 stit = kzalloc(sizeof(*stit), GFP_KERNEL); in kvm_spapr_tce_attach_iommu_group()
172 if (!stit) { in kvm_spapr_tce_attach_iommu_group()
177 stit->tbl = tbl; in kvm_spapr_tce_attach_iommu_group()
178 kref_init(&stit->kref); in kvm_spapr_tce_attach_iommu_group()
180 list_add_rcu(&stit->next, &stt->iommu_tables); in kvm_spapr_tce_attach_iommu_group()
249 struct kvmppc_spapr_tce_iommu_table *stit, *tmp; in kvm_spapr_tce_release() local
256 list_for_each_entry_safe(stit, tmp, &stt->iommu_tables, next) { in kvm_spapr_tce_release()
257 WARN_ON(!kref_read(&stit->kref)); in kvm_spapr_tce_release()
259 if (kref_put(&stit->kref, kvm_spapr_tce_liobn_put)) in kvm_spapr_tce_release()
364 struct kvmppc_spapr_tce_iommu_table *stit; in kvmppc_tce_validate() local
378 list_for_each_entry_rcu(stit, &stt->iommu_tables, next) { in kvmppc_tce_validate()
381 long shift = stit->tbl->it_page_shift; in kvmppc_tce_validate()
556 struct kvmppc_spapr_tce_iommu_table *stit; in kvmppc_h_put_tce() local
586 list_for_each_entry_lockless(stit, &stt->iommu_tables, next) { in kvmppc_h_put_tce()
589 stit->tbl, entry); in kvmppc_h_put_tce()
591 ret = kvmppc_tce_iommu_map(vcpu->kvm, stt, stit->tbl, in kvmppc_h_put_tce()
594 iommu_tce_kill(stit->tbl, entry, 1); in kvmppc_h_put_tce()
597 kvmppc_clear_tce(vcpu->kvm->mm, stit->tbl, entry); in kvmppc_h_put_tce()
620 struct kvmppc_spapr_tce_iommu_table *stit; in kvmppc_h_put_tce_indirect() local
682 list_for_each_entry_lockless(stit, &stt->iommu_tables, next) { in kvmppc_h_put_tce_indirect()
684 stit->tbl, entry + i, ua, in kvmppc_h_put_tce_indirect()
688 kvmppc_clear_tce(vcpu->kvm->mm, stit->tbl, in kvmppc_h_put_tce_indirect()
698 list_for_each_entry_lockless(stit, &stt->iommu_tables, next) in kvmppc_h_put_tce_indirect()
699 iommu_tce_kill(stit->tbl, entry, npages); in kvmppc_h_put_tce_indirect()
714 struct kvmppc_spapr_tce_iommu_table *stit; in kvmppc_h_stuff_tce() local
728 list_for_each_entry_lockless(stit, &stt->iommu_tables, next) { in kvmppc_h_stuff_tce()
733 stit->tbl, entry + i); in kvmppc_h_stuff_tce()
742 kvmppc_clear_tce(vcpu->kvm->mm, stit->tbl, entry); in kvmppc_h_stuff_tce()
750 list_for_each_entry_lockless(stit, &stt->iommu_tables, next) in kvmppc_h_stuff_tce()
751 iommu_tce_kill(stit->tbl, ioba >> stt->page_shift, npages); in kvmppc_h_stuff_tce()