Lines Matching refs:airq
21 #include <asm/airq.h>
36 * @airq: pointer to adapter interrupt descriptor
40 int register_adapter_interrupt(struct airq_struct *airq)
44 if (!airq->handler || airq->isc > MAX_ISC)
46 if (!airq->lsi_ptr) {
47 airq->lsi_ptr = cio_dma_zalloc(1);
48 if (!airq->lsi_ptr)
50 airq->flags |= AIRQ_PTR_ALLOCATED;
52 snprintf(dbf_txt, sizeof(dbf_txt), "rairq:%p", airq);
54 isc_register(airq->isc);
56 hlist_add_head_rcu(&airq->list, &airq_lists[airq->isc]);
64 * @airq: pointer to adapter interrupt descriptor
66 void unregister_adapter_interrupt(struct airq_struct *airq)
70 if (hlist_unhashed(&airq->list))
72 snprintf(dbf_txt, sizeof(dbf_txt), "urairq:%p", airq);
75 hlist_del_rcu(&airq->list);
78 isc_unregister(airq->isc);
79 if (airq->flags & AIRQ_PTR_ALLOCATED) {
80 cio_dma_free(airq->lsi_ptr, 1);
81 airq->lsi_ptr = NULL;
82 airq->flags &= ~AIRQ_PTR_ALLOCATED;
90 struct airq_struct *airq;
98 hlist_for_each_entry_rcu(airq, head, list)
99 if (*airq->lsi_ptr != 0)
100 airq->handler(airq, tpi_info);