Changeset View
Changeset View
Standalone View
Standalone View
sys/kern/subr_intr.c
Show First 20 Lines • Show All 520 Lines • ▼ Show 20 Lines | if (intr_ddata_first_unused >= nitems(intr_ddata_tab)) { | ||||
free(ddata, M_INTRNG); | free(ddata, M_INTRNG); | ||||
return (NULL); | return (NULL); | ||||
} | } | ||||
intr_ddata_tab[intr_ddata_first_unused] = ddata; | intr_ddata_tab[intr_ddata_first_unused] = ddata; | ||||
ddata->idd_irq = IRQ_DDATA_BASE + intr_ddata_first_unused++; | ddata->idd_irq = IRQ_DDATA_BASE + intr_ddata_first_unused++; | ||||
mtx_unlock(&isrc_table_lock); | mtx_unlock(&isrc_table_lock); | ||||
ddata->idd_data = (struct intr_map_data *)((uintptr_t)ddata + size); | ddata->idd_data = (struct intr_map_data *)((uintptr_t)ddata + size); | ||||
ddata->idd_data->size = extsize; | |||||
return (ddata); | return (ddata); | ||||
} | } | ||||
static struct intr_irqsrc * | static struct intr_irqsrc * | ||||
intr_ddata_lookup(u_int irq, struct intr_map_data **datap) | intr_ddata_lookup(u_int irq, struct intr_map_data **datap) | ||||
{ | { | ||||
int error; | int error; | ||||
struct intr_irqsrc *isrc; | struct intr_irqsrc *isrc; | ||||
▲ Show 20 Lines • Show All 952 Lines • Show Last 20 Lines |