Lines Matching refs:dispatcher
116 struct _ipl_dispatcher *dispatcher; in dmac_intr() local
135 SLIST_FOREACH(dispatcher, &__dmac_dispatcher_head, link) { in dmac_intr()
136 if (dispatcher->bit & dispatch) { in dmac_intr()
137 KDASSERT(dispatcher->func); in dmac_intr()
138 (*dispatcher->func)(dispatcher->arg); in dmac_intr()
139 dispatch &= ~dispatcher->bit; in dmac_intr()
194 struct _ipl_dispatcher *dispatcher = &__dmac_dispatcher[ch]; in dmac_intr_establish() local
198 KDASSERT(dispatcher->func == NULL); in dmac_intr_establish()
201 dispatcher->func = func; in dmac_intr_establish()
202 dispatcher->arg = arg; in dmac_intr_establish()
203 dispatcher->ipl = ipl; in dmac_intr_establish()
204 dispatcher->channel = ch; in dmac_intr_establish()
205 dispatcher->bit = D_STAT_CIS_BIT(ch); in dmac_intr_establish()
216 SLIST_INSERT_HEAD(&__dmac_dispatcher_head, dispatcher, link); in dmac_intr_establish()
221 SLIST_INSERT_AFTER(d, dispatcher, link); in dmac_intr_establish()
241 struct _ipl_dispatcher *dispatcher = &__dmac_dispatcher[ch]; in dmac_intr_disestablish() local
247 dispatcher->func = NULL; in dmac_intr_disestablish()
249 SLIST_REMOVE(&__dmac_dispatcher_head, dispatcher, in dmac_intr_disestablish()