Lines Matching defs:di
1404 struct dwpcie_intx *di;
1414 TAILQ_FOREACH(di, &sc->sc_intx[pin], di_next) {
1415 if ((di->di_flags & IPL_MPSAFE) == 0)
1417 s = splraise(di->di_ipl);
1418 if (di->di_func(di->di_arg))
1419 di->di_count.ec_count++;
1421 if ((di->di_flags & IPL_MPSAFE) == 0)
1434 struct dwpcie_intx *di;
1449 di = malloc(sizeof(*di), M_DEVBUF, M_WAITOK | M_ZERO);
1450 di->di_func = func;
1451 di->di_arg = arg;
1452 di->di_ipl = level & IPL_IRQMASK;
1453 di->di_flags = level & IPL_FLAGMASK;
1454 di->di_pin = pin;
1455 di->di_name = name;
1457 evcount_attach(&di->di_count, name, &di->di_pin);
1458 di->di_sc = sc;
1459 TAILQ_INSERT_TAIL(&sc->sc_intx[pin], di, di_next);
1465 return di;
1471 struct dwpcie_intx *di = cookie;
1472 struct dwpcie_softc *sc = di->di_sc;
1473 uint32_t mask = (1U << di->di_pin);
1480 if (di->di_name)
1481 evcount_detach(&di->di_count);
1483 TAILQ_REMOVE(&sc->sc_intx[di->di_pin], di, di_next);
1485 if (!TAILQ_EMPTY(&sc->sc_intx[di->di_pin])) {
1491 free(di, M_DEVBUF, sizeof(*di));
1497 struct dwpcie_intx *di = cookie;
1498 struct dwpcie_softc *sc = di->di_sc;