Lines Matching defs:iv

92 	struct hppa_iv *iv;
100 iv = intr_list;
101 intr_list = iv->next;
102 bit = ffs(imask[(int)iv->pri]);
108 iv->next = NULL;
109 iv->bit = 1 << bit;
110 intr_table[bit] = *iv;
112 imask[(int)iv->pri] |= (1 << bit);
114 iv->bit = 1 << bit;
115 iv->next = intr_table[bit].next;
116 intr_table[bit].next = iv;
158 struct hppa_iv *iv, *pv = v, *ivb = pv->next;
168 iv = &ivb[irq];
169 if (iv->handler) {
174 iv = pv->share;
175 pv->share = iv->share;
176 iv->share = ivb[irq].share;
177 ivb[irq].share = iv;
182 iv->pri = pri;
183 iv->irq = irq;
184 iv->flags = 0;
185 iv->handler = handler;
186 iv->arg = arg;
187 iv->cnt = cnt;
188 iv->next = intr_list;
189 intr_list = iv;
191 return (iv);
199 struct hppa_iv *iv, *ev;
215 iv = &intr_table[irq];
216 iv->pri = pri;
217 iv->irq = irq;
218 iv->bit = 1 << irq;
219 iv->flags = 0;
220 iv->handler = handler;
221 iv->arg = arg;
222 iv->cnt = cnt;
223 iv->next = NULL;
224 iv->share = NULL;
227 iv->flags = HPPA_IV_CALL;
228 iv->next = intr_more;
230 for (ev = iv->next + CPU_NINTS; ev < intr_more; ev++)
231 ev->share = iv->share, iv->share = ev;
233 iv->cnt = NULL;
236 iv->cnt = NULL;
240 return (iv);
248 struct hppa_iv *iv;
266 iv = &intr_table[bit];
270 if (iv->flags & HPPA_IV_CALL)
274 if (iv->flags & HPPA_IV_SOFT)
277 ci->ci_cpl = iv->pri;
285 for (r = iv->flags & HPPA_IV_SOFT;
286 iv && iv->handler; iv = iv->next) {
288 arg = iv->arg ? iv->arg : v;
289 if ((iv->handler)(arg) == 1) {
290 if (iv->cnt)
291 iv->cnt->ec_count++;
324 struct hppa_iv *iv;
331 iv = &intr_table[irq];
332 if ((iv->flags & HPPA_IV_SOFT) == 0 || iv->pri != pri)
335 if (iv->handler) {
338 nv = malloc(sizeof *iv, M_DEVBUF, M_NOWAIT);
341 while (iv->next)
342 iv = iv->next;
343 iv->next = nv;
344 iv = nv;
348 iv->pri = pri;
349 iv->irq = 0;
350 iv->bit = 1 << irq;
351 iv->flags = HPPA_IV_SOFT;
352 iv->handler = (int (*)(void *))handler; /* XXX */
353 iv->arg = arg;
354 iv->cnt = NULL;
355 iv->next = NULL;
356 iv->share = NULL;
358 return (iv);
364 struct hppa_iv *iv = cookie;
365 int irq = iv->pri - 1;
368 if (iv->next) {
369 struct hppa_iv *nv = iv->next;
371 iv->handler = nv->handler;
372 iv->arg = nv->arg;
373 iv->next = nv->next;
377 iv->handler = NULL;
378 iv->arg = NULL;
383 for (iv = &intr_table[irq]; iv; iv = iv->next) {
384 if (iv->next == cookie) {
385 iv->next = iv->next->next;
395 struct hppa_iv *iv = cookie;
397 atomic_setbits_long(&curcpu()->ci_ipending, 1 << (iv->pri - 1));