Lines Matching refs:ev_queue

1599 	struct devx_async_event_queue	ev_queue;  member
1603 static void devx_init_event_queue(struct devx_async_event_queue *ev_queue) in devx_init_event_queue() argument
1605 spin_lock_init(&ev_queue->lock); in devx_init_event_queue()
1606 INIT_LIST_HEAD(&ev_queue->event_list); in devx_init_event_queue()
1607 init_waitqueue_head(&ev_queue->poll_wait); in devx_init_event_queue()
1608 atomic_set(&ev_queue->bytes_in_use, 0); in devx_init_event_queue()
1609 ev_queue->is_destroyed = 0; in devx_init_event_queue()
1623 devx_init_event_queue(&ev_file->ev_queue); in UVERBS_HANDLER()
1666 struct devx_async_event_queue *ev_queue; in devx_query_callback() local
1671 ev_queue = &ev_file->ev_queue; in devx_query_callback()
1673 spin_lock_irqsave(&ev_queue->lock, flags); in devx_query_callback()
1674 list_add_tail(&async_data->list, &ev_queue->event_list); in devx_query_callback()
1675 spin_unlock_irqrestore(&ev_queue->lock, flags); in devx_query_callback()
1677 wake_up_interruptible(&ev_queue->poll_wait); in devx_query_callback()
1727 if (atomic_add_return(cmd_out_len, &ev_file->ev_queue.bytes_in_use) > in UVERBS_HANDLER()
1729 atomic_sub(cmd_out_len, &ev_file->ev_queue.bytes_in_use); in UVERBS_HANDLER()
1768 atomic_sub(cmd_out_len, &ev_file->ev_queue.bytes_in_use); in UVERBS_HANDLER()
2449 struct devx_async_event_queue *ev_queue = &comp_ev_file->ev_queue; in devx_async_cmd_event_read() local
2454 spin_lock_irq(&ev_queue->lock); in devx_async_cmd_event_read()
2456 while (list_empty(&ev_queue->event_list)) { in devx_async_cmd_event_read()
2457 spin_unlock_irq(&ev_queue->lock); in devx_async_cmd_event_read()
2463 ev_queue->poll_wait, in devx_async_cmd_event_read()
2464 (!list_empty(&ev_queue->event_list) || in devx_async_cmd_event_read()
2465 ev_queue->is_destroyed))) { in devx_async_cmd_event_read()
2469 if (list_empty(&ev_queue->event_list) && in devx_async_cmd_event_read()
2470 ev_queue->is_destroyed) in devx_async_cmd_event_read()
2473 spin_lock_irq(&ev_queue->lock); in devx_async_cmd_event_read()
2476 event = list_entry(ev_queue->event_list.next, in devx_async_cmd_event_read()
2482 spin_unlock_irq(&ev_queue->lock); in devx_async_cmd_event_read()
2486 list_del(ev_queue->event_list.next); in devx_async_cmd_event_read()
2487 spin_unlock_irq(&ev_queue->lock); in devx_async_cmd_event_read()
2494 atomic_sub(event->cmd_out_len, &ev_queue->bytes_in_use); in devx_async_cmd_event_read()
2506 spin_lock_irq(&comp_ev_file->ev_queue.lock); in devx_async_cmd_event_close()
2508 &comp_ev_file->ev_queue.event_list, list) in devx_async_cmd_event_close()
2510 spin_unlock_irq(&comp_ev_file->ev_queue.lock); in devx_async_cmd_event_close()
2520 struct devx_async_event_queue *ev_queue = &comp_ev_file->ev_queue; in devx_async_cmd_event_poll() local
2523 poll_wait(filp, &ev_queue->poll_wait, wait); in devx_async_cmd_event_poll()
2525 spin_lock_irq(&ev_queue->lock); in devx_async_cmd_event_poll()
2526 if (ev_queue->is_destroyed) in devx_async_cmd_event_poll()
2528 else if (!list_empty(&ev_queue->event_list)) in devx_async_cmd_event_poll()
2530 spin_unlock_irq(&ev_queue->lock); in devx_async_cmd_event_poll()
2693 struct devx_async_event_queue *ev_queue = &comp_ev_file->ev_queue; in devx_hot_unplug_async_cmd_event_file() local
2695 spin_lock_irq(&ev_queue->lock); in devx_hot_unplug_async_cmd_event_file()
2696 ev_queue->is_destroyed = 1; in devx_hot_unplug_async_cmd_event_file()
2697 spin_unlock_irq(&ev_queue->lock); in devx_hot_unplug_async_cmd_event_file()
2700 wake_up_interruptible(&ev_queue->poll_wait); in devx_hot_unplug_async_cmd_event_file()