Lines Matching refs:tbl
46 struct iommu_table *tbl; member
54 struct iommu_table *tbl = container->tbl; in tce_iommu_enable() local
56 if (!container->tbl) in tce_iommu_enable()
84 npages = (tbl->it_size << IOMMU_PAGE_SHIFT_4K) >> PAGE_SHIFT; in tce_iommu_enable()
108 if (!container->tbl || !current->mm) in tce_iommu_disable()
112 current->mm->locked_vm -= (container->tbl->it_size << in tce_iommu_disable()
139 WARN_ON(container->tbl && !container->tbl->it_group); in tce_iommu_release()
142 if (container->tbl && container->tbl->it_group) in tce_iommu_release()
143 tce_iommu_detach_group(iommu_data, container->tbl->it_group); in tce_iommu_release()
172 struct iommu_table *tbl = container->tbl; in tce_iommu_ioctl() local
174 if (WARN_ON(!tbl)) in tce_iommu_ioctl()
186 info.dma32_window_start = tbl->it_offset << IOMMU_PAGE_SHIFT_4K; in tce_iommu_ioctl()
187 info.dma32_window_size = tbl->it_size << IOMMU_PAGE_SHIFT_4K; in tce_iommu_ioctl()
197 struct iommu_table *tbl = container->tbl; in tce_iommu_ioctl() local
200 if (!tbl) in tce_iommu_ioctl()
203 BUG_ON(!tbl->it_group); in tce_iommu_ioctl()
228 ret = iommu_tce_put_param_check(tbl, param.iova, tce); in tce_iommu_ioctl()
233 ret = iommu_put_tce_user_mode(tbl, in tce_iommu_ioctl()
241 iommu_clear_tces_and_put_pages(tbl, in tce_iommu_ioctl()
244 iommu_flush_tce(tbl); in tce_iommu_ioctl()
250 struct iommu_table *tbl = container->tbl; in tce_iommu_ioctl() local
252 if (WARN_ON(!tbl)) in tce_iommu_ioctl()
271 ret = iommu_tce_clear_param_check(tbl, param.iova, 0, in tce_iommu_ioctl()
276 ret = iommu_clear_tces_and_put_pages(tbl, in tce_iommu_ioctl()
279 iommu_flush_tce(tbl); in tce_iommu_ioctl()
296 if (!container->tbl || !container->tbl->it_group) in tce_iommu_ioctl()
299 return vfio_spapr_iommu_eeh_ioctl(container->tbl->it_group, in tce_iommu_ioctl()
311 struct iommu_table *tbl = iommu_group_get_iommudata(iommu_group); in tce_iommu_attach_group() local
313 BUG_ON(!tbl); in tce_iommu_attach_group()
318 if (container->tbl) { in tce_iommu_attach_group()
320 iommu_group_id(container->tbl->it_group), in tce_iommu_attach_group()
328 ret = iommu_take_ownership(tbl); in tce_iommu_attach_group()
330 container->tbl = tbl; in tce_iommu_attach_group()
342 struct iommu_table *tbl = iommu_group_get_iommudata(iommu_group); in tce_iommu_detach_group() local
344 BUG_ON(!tbl); in tce_iommu_detach_group()
346 if (tbl != container->tbl) { in tce_iommu_detach_group()
349 iommu_group_id(tbl->it_group)); in tce_iommu_detach_group()
353 iommu_group_id(tbl->it_group)); in tce_iommu_detach_group()
359 container->tbl = NULL; in tce_iommu_detach_group()
360 iommu_release_ownership(tbl); in tce_iommu_detach_group()