Lines Matching full:fd
35 be->fd = -1; in iommufd_backend_init()
45 close(be->fd); in iommufd_backend_finalize()
46 be->fd = -1; in iommufd_backend_finalize()
54 int fd = -1; in iommufd_backend_set_fd() local
56 fd = monitor_fd_param(monitor_cur(), str, errp); in iommufd_backend_set_fd()
57 if (fd == -1) { in iommufd_backend_set_fd()
58 error_prepend(errp, "Could not parse remote object fd %s:", str); in iommufd_backend_set_fd()
61 be->fd = fd; in iommufd_backend_set_fd()
63 trace_iommu_backend_set_fd(be->fd); in iommufd_backend_set_fd()
79 /* fd came from the command line. Fetch updated value from cpr state. */ in iommufd_backend_complete()
81 be->fd = cpr_find_fd(name, 0); in iommufd_backend_complete()
83 cpr_save_fd(name, 0, be->fd); in iommufd_backend_complete()
95 object_class_property_add_str(oc, "fd", NULL, iommufd_backend_set_fd); in iommufd_backend_class_init()
106 return !ioctl(be->fd, IOMMU_IOAS_CHANGE_PROCESS, &args); in iommufd_change_process_capable()
112 bool ret = !ioctl(be->fd, IOMMU_IOAS_CHANGE_PROCESS, &args); in iommufd_change_process()
115 error_setg_errno(errp, errno, "IOMMU_IOAS_CHANGE_PROCESS fd %d failed", in iommufd_change_process()
116 be->fd); in iommufd_change_process()
118 trace_iommufd_change_process(be->fd, ret); in iommufd_change_process()
124 int fd; in iommufd_backend_connect() local
127 fd = cpr_open_fd("/dev/iommu", O_RDWR, iommufd_fd_name(be), 0, errp); in iommufd_backend_connect()
128 if (fd < 0) { in iommufd_backend_connect()
131 be->fd = fd; in iommufd_backend_connect()
135 close(be->fd); in iommufd_backend_connect()
136 be->fd = -1; in iommufd_backend_connect()
142 trace_iommufd_backend_connect(be->fd, be->owned, be->users); in iommufd_backend_connect()
156 close(be->fd); in iommufd_backend_disconnect()
157 be->fd = -1; in iommufd_backend_disconnect()
161 trace_iommufd_backend_disconnect(be->fd, be->users); in iommufd_backend_disconnect()
167 int fd = be->fd; in iommufd_backend_alloc_ioas() local
173 if (ioctl(fd, IOMMU_IOAS_ALLOC, &alloc_data)) { in iommufd_backend_alloc_ioas()
179 trace_iommufd_backend_alloc_ioas(fd, *ioas_id); in iommufd_backend_alloc_ioas()
186 int ret, fd = be->fd; in iommufd_backend_free_id() local
192 ret = ioctl(fd, IOMMU_DESTROY, &des); in iommufd_backend_free_id()
193 trace_iommufd_backend_free_id(fd, id, ret); in iommufd_backend_free_id()
202 int ret, fd = be->fd; in iommufd_backend_map_dma() local
218 ret = ioctl(fd, IOMMU_IOAS_MAP, &map); in iommufd_backend_map_dma()
219 trace_iommufd_backend_map_dma(fd, ioas_id, iova, size, in iommufd_backend_map_dma()
236 int ret, fd = be->fd; in iommufd_backend_map_file_dma() local
242 .fd = mfd, in iommufd_backend_map_file_dma()
256 ret = ioctl(fd, IOMMU_IOAS_MAP_FILE, &map); in iommufd_backend_map_file_dma()
257 trace_iommufd_backend_map_file_dma(fd, ioas_id, iova, size, mfd, start, in iommufd_backend_map_file_dma()
273 int ret, fd = be->fd; in iommufd_backend_unmap_dma() local
285 ret = ioctl(fd, IOMMU_IOAS_UNMAP, &unmap); in iommufd_backend_unmap_dma()
295 trace_iommufd_backend_unmap_dma_non_exist(fd, ioas_id, iova, size, ret); in iommufd_backend_unmap_dma()
298 trace_iommufd_backend_unmap_dma(fd, ioas_id, iova, size, ret); in iommufd_backend_unmap_dma()
313 int ret, fd = be->fd; in iommufd_backend_alloc_hwpt() local
324 ret = ioctl(fd, IOMMU_HWPT_ALLOC, &alloc_hwpt); in iommufd_backend_alloc_hwpt()
325 trace_iommufd_backend_alloc_hwpt(fd, dev_id, pt_id, flags, data_type, in iommufd_backend_alloc_hwpt()
348 ret = ioctl(be->fd, IOMMU_HWPT_SET_DIRTY_TRACKING, &set_dirty); in iommufd_backend_set_dirty_tracking()
349 trace_iommufd_backend_set_dirty(be->fd, hwpt_id, start, ret ? errno : 0); in iommufd_backend_set_dirty_tracking()
376 ret = ioctl(be->fd, IOMMU_HWPT_GET_DIRTY_BITMAP, &get_dirty_bitmap); in iommufd_backend_get_dirty_bitmap()
377 trace_iommufd_backend_get_dirty_bitmap(be->fd, hwpt_id, iova, size, in iommufd_backend_get_dirty_bitmap()
400 if (ioctl(be->fd, IOMMU_GET_HW_INFO, &info)) { in iommufd_backend_get_device_info()
418 int ret, fd = be->fd; in iommufd_backend_invalidate_cache() local
429 ret = ioctl(fd, IOMMU_HWPT_INVALIDATE, &cache); in iommufd_backend_invalidate_cache()
430 trace_iommufd_backend_invalidate_cache(fd, id, data_type, entry_len, in iommufd_backend_invalidate_cache()