Lines Matching refs:iq
129 struct intrq *iq;
136 iq = &intrq[irq];
138 for (ih = TAILQ_FIRST(&iq->iq_list); ih != NULL;
141 iq->iq_levels = levels;
174 iq = &intrq[irq];
175 if (TAILQ_FIRST(&iq->iq_list) != NULL)
242 struct intrq *iq;
251 iq = &intrq[i];
252 TAILQ_INIT(&iq->iq_list);
254 snprintf(iq->iq_name, sizeof(iq->iq_name), "irq %d", i);
281 struct intrq* iq;
319 iq = &intrq[irq];
322 if (TAILQ_FIRST(&iq->iq_list) == NULL || (iq->iq_type & ~type) == 0) {
324 iq->iq_type = type;
325 TAILQ_INSERT_TAIL(&iq->iq_list, ih, ih_list);
352 struct intrq* iq = &intrq[ih->ih_irq];
356 TAILQ_REMOVE(&iq->iq_list, ih, ih_list);
365 static inline void intr_process(struct intrq *iq, int pcpl, struct trapframe *frame);
368 intr_process(struct intrq *iq, int pcpl, struct trapframe *frame)
373 intr = iq - intrq;
375 iq->iq_ev.ev_count++;
382 if (iq->iq_busy) {
386 iq->iq_busy = 1;
388 for (ih = TAILQ_FIRST(&iq->iq_list); ih != NULL;
397 if (!iq->iq_busy) {
400 iq->iq_busy = 0;
409 struct intrq* iq;
412 iq = (struct intrq *)AICREG(AIC_IVR); // get current queue
415 if (iq)
416 intr_process(iq, pcpl, frame);