Lines Matching full:wait
31 struct omap_irq_wait *wait; in omap_irq_update() local
36 list_for_each_entry(wait, &priv->wait_list, node) in omap_irq_update()
37 irqmask |= wait->irqmask; in omap_irq_update()
44 static void omap_irq_wait_handler(struct omap_irq_wait *wait) in omap_irq_wait_handler() argument
46 wait->count--; in omap_irq_wait_handler()
47 wake_up(&wait->wq); in omap_irq_wait_handler()
54 struct omap_irq_wait *wait = kzalloc(sizeof(*wait), GFP_KERNEL); in omap_irq_wait_init() local
57 init_waitqueue_head(&wait->wq); in omap_irq_wait_init()
58 wait->irqmask = irqmask; in omap_irq_wait_init()
59 wait->count = count; in omap_irq_wait_init()
62 list_add(&wait->node, &priv->wait_list); in omap_irq_wait_init()
66 return wait; in omap_irq_wait_init()
69 int omap_irq_wait(struct drm_device *dev, struct omap_irq_wait *wait, in omap_irq_wait() argument
76 ret = wait_event_timeout(wait->wq, (wait->count <= 0), timeout); in omap_irq_wait()
79 list_del(&wait->node); in omap_irq_wait()
83 kfree(wait); in omap_irq_wait()
198 struct omap_irq_wait *wait, *n; in omap_irq_handler() local
226 list_for_each_entry_safe(wait, n, &priv->wait_list, node) { in omap_irq_handler()
227 if (wait->irqmask & irqstatus) in omap_irq_handler()
228 omap_irq_wait_handler(wait); in omap_irq_handler()