Lines Matching defs:kioeventfd

1126 	struct privcmd_kernel_ioeventfd *kioeventfd;
1146 list_for_each_entry(kioeventfd, &kioreq->ioeventfds, list) {
1147 if (ioreq->addr == kioeventfd->addr + VIRTIO_MMIO_QUEUE_NOTIFY &&
1148 ioreq->size == kioeventfd->addr_len &&
1149 (ioreq->data & QUEUE_NOTIFY_VQ_MASK) == kioeventfd->vq) {
1150 eventfd_signal(kioeventfd->eventfd);
1268 struct privcmd_kernel_ioeventfd *kioeventfd;
1286 list_for_each_entry(kioeventfd, &kioreq->ioeventfds, list) {
1287 if (eventfd == kioeventfd->eventfd) {
1301 static void ioeventfd_free(struct privcmd_kernel_ioeventfd *kioeventfd)
1303 list_del(&kioeventfd->list);
1304 eventfd_ctx_put(kioeventfd->eventfd);
1305 kfree(kioeventfd);
1310 struct privcmd_kernel_ioeventfd *kioeventfd;
1329 kioeventfd = kzalloc(sizeof(*kioeventfd), GFP_KERNEL);
1330 if (!kioeventfd)
1339 kioeventfd->eventfd = eventfd_ctx_fileget(f.file);
1342 if (IS_ERR(kioeventfd->eventfd)) {
1343 ret = PTR_ERR(kioeventfd->eventfd);
1347 kioeventfd->addr = ioeventfd->addr;
1348 kioeventfd->addr_len = ioeventfd->addr_len;
1349 kioeventfd->vq = ioeventfd->vq;
1352 kioreq = get_ioreq(ioeventfd, kioeventfd->eventfd);
1360 list_add_tail(&kioeventfd->list, &kioreq->ioeventfds);
1368 eventfd_ctx_put(kioeventfd->eventfd);
1371 kfree(kioeventfd);
1388 struct privcmd_kernel_ioeventfd *kioeventfd, *tmp;
1399 list_for_each_entry_safe(kioeventfd, tmp, &kioreq->ioeventfds, list) {
1400 if (eventfd == kioeventfd->eventfd) {
1401 ioeventfd_free(kioeventfd);
1453 struct privcmd_kernel_ioeventfd *kioeventfd, *tmp;
1456 list_for_each_entry_safe(kioeventfd, tmp, &kioreq->ioeventfds, list)
1457 ioeventfd_free(kioeventfd);