Lines Matching refs:iop

27 void irq_poll_sched(struct irq_poll *iop)  in irq_poll_sched()  argument
31 if (test_bit(IRQ_POLL_F_DISABLE, &iop->state)) in irq_poll_sched()
33 if (test_and_set_bit(IRQ_POLL_F_SCHED, &iop->state)) in irq_poll_sched()
37 list_add_tail(&iop->list, this_cpu_ptr(&blk_cpu_iopoll)); in irq_poll_sched()
51 static void __irq_poll_complete(struct irq_poll *iop) in __irq_poll_complete() argument
53 list_del(&iop->list); in __irq_poll_complete()
55 clear_bit_unlock(IRQ_POLL_F_SCHED, &iop->state); in __irq_poll_complete()
68 void irq_poll_complete(struct irq_poll *iop) in irq_poll_complete() argument
73 __irq_poll_complete(iop); in irq_poll_complete()
87 struct irq_poll *iop; in irq_poll_softirq() local
105 iop = list_entry(list->next, struct irq_poll, list); in irq_poll_softirq()
107 weight = iop->weight; in irq_poll_softirq()
109 if (test_bit(IRQ_POLL_F_SCHED, &iop->state)) in irq_poll_softirq()
110 work = iop->poll(iop, weight); in irq_poll_softirq()
125 if (test_bit(IRQ_POLL_F_DISABLE, &iop->state)) in irq_poll_softirq()
126 __irq_poll_complete(iop); in irq_poll_softirq()
128 list_move_tail(&iop->list, list); in irq_poll_softirq()
145 void irq_poll_disable(struct irq_poll *iop) in irq_poll_disable() argument
147 set_bit(IRQ_POLL_F_DISABLE, &iop->state); in irq_poll_disable()
148 while (test_and_set_bit(IRQ_POLL_F_SCHED, &iop->state)) in irq_poll_disable()
150 clear_bit(IRQ_POLL_F_DISABLE, &iop->state); in irq_poll_disable()
162 void irq_poll_enable(struct irq_poll *iop) in irq_poll_enable() argument
164 BUG_ON(!test_bit(IRQ_POLL_F_SCHED, &iop->state)); in irq_poll_enable()
166 clear_bit_unlock(IRQ_POLL_F_SCHED, &iop->state); in irq_poll_enable()
179 void irq_poll_init(struct irq_poll *iop, int weight, irq_poll_fn *poll_fn) in irq_poll_init() argument
181 memset(iop, 0, sizeof(*iop)); in irq_poll_init()
182 INIT_LIST_HEAD(&iop->list); in irq_poll_init()
183 iop->weight = weight; in irq_poll_init()
184 iop->poll = poll_fn; in irq_poll_init()