Lines Matching refs:dev

120 static void kvm_vfio_update_coherency(struct kvm_device *dev)  in kvm_vfio_update_coherency()  argument
122 struct kvm_vfio *kv = dev->private; in kvm_vfio_update_coherency()
137 kvm_arch_register_noncoherent_dma(dev->kvm); in kvm_vfio_update_coherency()
139 kvm_arch_unregister_noncoherent_dma(dev->kvm); in kvm_vfio_update_coherency()
143 static int kvm_vfio_file_add(struct kvm_device *dev, unsigned int fd) in kvm_vfio_file_add() argument
145 struct kvm_vfio *kv = dev->private; in kvm_vfio_file_add()
178 kvm_vfio_file_set_kvm(kvf->file, dev->kvm); in kvm_vfio_file_add()
179 kvm_vfio_update_coherency(dev); in kvm_vfio_file_add()
188 static int kvm_vfio_file_del(struct kvm_device *dev, unsigned int fd) in kvm_vfio_file_del() argument
190 struct kvm_vfio *kv = dev->private; in kvm_vfio_file_del()
208 kvm_spapr_tce_release_vfio_group(dev->kvm, kvf); in kvm_vfio_file_del()
217 kvm_vfio_update_coherency(dev); in kvm_vfio_file_del()
224 static int kvm_vfio_file_set_spapr_tce(struct kvm_device *dev, in kvm_vfio_file_set_spapr_tce() argument
228 struct kvm_vfio *kv = dev->private; in kvm_vfio_file_set_spapr_tce()
255 ret = kvm_spapr_tce_attach_iommu_group(dev->kvm, param.tablefd, in kvm_vfio_file_set_spapr_tce()
266 static int kvm_vfio_set_file(struct kvm_device *dev, long attr, in kvm_vfio_set_file() argument
276 return kvm_vfio_file_add(dev, fd); in kvm_vfio_set_file()
281 return kvm_vfio_file_del(dev, fd); in kvm_vfio_set_file()
285 return kvm_vfio_file_set_spapr_tce(dev, arg); in kvm_vfio_set_file()
292 static int kvm_vfio_set_attr(struct kvm_device *dev, in kvm_vfio_set_attr() argument
297 return kvm_vfio_set_file(dev, attr->attr, in kvm_vfio_set_attr()
304 static int kvm_vfio_has_attr(struct kvm_device *dev, in kvm_vfio_has_attr() argument
324 static void kvm_vfio_release(struct kvm_device *dev) in kvm_vfio_release() argument
326 struct kvm_vfio *kv = dev->private; in kvm_vfio_release()
331 kvm_spapr_tce_release_vfio_group(dev->kvm, kvf); in kvm_vfio_release()
339 kvm_vfio_update_coherency(dev); in kvm_vfio_release()
342 kfree(dev); /* alloc by kvm_ioctl_create_device, free by .release */ in kvm_vfio_release()
345 static int kvm_vfio_create(struct kvm_device *dev, u32 type);
355 static int kvm_vfio_create(struct kvm_device *dev, u32 type) in kvm_vfio_create() argument
360 lockdep_assert_held(&dev->kvm->lock); in kvm_vfio_create()
363 list_for_each_entry(tmp, &dev->kvm->devices, vm_node) in kvm_vfio_create()
374 dev->private = kv; in kvm_vfio_create()