Lines Matching refs:stit
62 struct kvmppc_spapr_tce_iommu_table *stit = container_of(head, in kvm_spapr_tce_iommu_table_free() local
65 iommu_tce_table_put(stit->tbl); in kvm_spapr_tce_iommu_table_free()
67 kfree(stit); in kvm_spapr_tce_iommu_table_free()
72 struct kvmppc_spapr_tce_iommu_table *stit = container_of(kref, in kvm_spapr_tce_liobn_put() local
75 list_del_rcu(&stit->next); in kvm_spapr_tce_liobn_put()
77 call_rcu(&stit->rcu, kvm_spapr_tce_iommu_table_free); in kvm_spapr_tce_liobn_put()
85 struct kvmppc_spapr_tce_iommu_table *stit, *tmp; in kvm_spapr_tce_release_iommu_group() local
95 list_for_each_entry_safe(stit, tmp, &stt->iommu_tables, next) { in kvm_spapr_tce_release_iommu_group()
97 if (table_group->tables[i] != stit->tbl) in kvm_spapr_tce_release_iommu_group()
100 kref_put(&stit->kref, kvm_spapr_tce_liobn_put); in kvm_spapr_tce_release_iommu_group()
116 struct kvmppc_spapr_tce_iommu_table *stit; in kvm_spapr_tce_attach_iommu_group() local
164 list_for_each_entry_rcu(stit, &stt->iommu_tables, next) { in kvm_spapr_tce_attach_iommu_group()
165 if (tbl != stit->tbl) in kvm_spapr_tce_attach_iommu_group()
168 if (!kref_get_unless_zero(&stit->kref)) { in kvm_spapr_tce_attach_iommu_group()
183 stit = kzalloc(sizeof(*stit), GFP_KERNEL); in kvm_spapr_tce_attach_iommu_group()
184 if (!stit) { in kvm_spapr_tce_attach_iommu_group()
189 stit->tbl = tbl; in kvm_spapr_tce_attach_iommu_group()
190 kref_init(&stit->kref); in kvm_spapr_tce_attach_iommu_group()
192 list_add_rcu(&stit->next, &stt->iommu_tables); in kvm_spapr_tce_attach_iommu_group()
261 struct kvmppc_spapr_tce_iommu_table *stit, *tmp; in kvm_spapr_tce_release() local
268 list_for_each_entry_safe(stit, tmp, &stt->iommu_tables, next) { in kvm_spapr_tce_release()
269 WARN_ON(!kref_read(&stit->kref)); in kvm_spapr_tce_release()
271 if (kref_put(&stit->kref, kvm_spapr_tce_liobn_put)) in kvm_spapr_tce_release()
375 struct kvmppc_spapr_tce_iommu_table *stit; in kvmppc_tce_validate() local
389 list_for_each_entry_rcu(stit, &stt->iommu_tables, next) { in kvmppc_tce_validate()
392 long shift = stit->tbl->it_page_shift; in kvmppc_tce_validate()
577 struct kvmppc_spapr_tce_iommu_table *stit; in kvmppc_h_put_tce() local
607 list_for_each_entry_lockless(stit, &stt->iommu_tables, next) { in kvmppc_h_put_tce()
610 stit->tbl, entry); in kvmppc_h_put_tce()
612 ret = kvmppc_tce_iommu_map(vcpu->kvm, stt, stit->tbl, in kvmppc_h_put_tce()
617 kvmppc_clear_tce(vcpu->kvm->mm, stt, stit->tbl, entry); in kvmppc_h_put_tce()
640 struct kvmppc_spapr_tce_iommu_table *stit; in kvmppc_h_put_tce_indirect() local
702 list_for_each_entry_lockless(stit, &stt->iommu_tables, next) { in kvmppc_h_put_tce_indirect()
704 stit->tbl, entry + i, ua, in kvmppc_h_put_tce_indirect()
708 kvmppc_clear_tce(vcpu->kvm->mm, stt, stit->tbl, in kvmppc_h_put_tce_indirect()
730 struct kvmppc_spapr_tce_iommu_table *stit; in kvmppc_h_stuff_tce() local
744 list_for_each_entry_lockless(stit, &stt->iommu_tables, next) { in kvmppc_h_stuff_tce()
749 stit->tbl, entry + i); in kvmppc_h_stuff_tce()
758 kvmppc_clear_tce(vcpu->kvm->mm, stt, stit->tbl, entry + i); in kvmppc_h_stuff_tce()