Lines Matching full:intr

289 		struct bcma_intr	*intr;  in bcma_dinfo_init_intrs()  local
302 intr = bcma_alloc_intr(BCMA_OOB_BANK_INTR, sel, line); in bcma_dinfo_init_intrs()
303 if (intr == NULL) { in bcma_dinfo_init_intrs()
310 STAILQ_INSERT_HEAD(&dinfo->intrs, intr, i_link); in bcma_dinfo_init_intrs()
363 struct bcma_intr *intr; in bcma_init_dinfo() local
388 STAILQ_FOREACH(intr, &dinfo->intrs, i_link) { in bcma_init_dinfo()
390 if (intr->i_mapped) in bcma_init_dinfo()
394 error = BHND_BUS_MAP_INTR(bus, child, intr->i_sel, in bcma_init_dinfo()
395 &intr->i_irq); in bcma_init_dinfo()
398 "for core %u: %d\n", intr->i_sel, in bcma_init_dinfo()
403 intr->i_mapped = true; in bcma_init_dinfo()
406 intr->i_rid = resource_list_add_next(&dinfo->resources, in bcma_init_dinfo()
407 SYS_RES_IRQ, intr->i_irq, intr->i_irq, 1); in bcma_init_dinfo()
428 struct bcma_intr *intr, *inext; in bcma_free_dinfo() local
442 STAILQ_FOREACH_SAFE(intr, &dinfo->intrs, i_link, inext) { in bcma_free_dinfo()
443 STAILQ_REMOVE(&dinfo->intrs, intr, bcma_intr, i_link); in bcma_free_dinfo()
446 if (intr->i_mapped) { in bcma_free_dinfo()
447 BHND_BUS_UNMAP_INTR(bus, child, intr->i_irq); in bcma_free_dinfo()
448 intr->i_mapped = false; in bcma_free_dinfo()
451 bcma_free_intr(intr); in bcma_free_dinfo()
467 struct bcma_intr *intr; in bcma_alloc_intr() local
478 intr = malloc(sizeof(*intr), M_BHND, M_NOWAIT); in bcma_alloc_intr()
479 if (intr == NULL) in bcma_alloc_intr()
482 intr->i_bank = bank; in bcma_alloc_intr()
483 intr->i_sel = sel; in bcma_alloc_intr()
484 intr->i_busline = line; in bcma_alloc_intr()
485 intr->i_mapped = false; in bcma_alloc_intr()
486 intr->i_irq = 0; in bcma_alloc_intr()
488 return (intr); in bcma_alloc_intr()
494 * @param intr Interrupt descriptor to be deallocated.
497 bcma_free_intr(struct bcma_intr *intr) in bcma_free_intr() argument
499 KASSERT(!intr->i_mapped, ("interrupt %u still mapped", intr->i_sel)); in bcma_free_intr()
501 free(intr, M_BHND); in bcma_free_intr()