Lines Matching refs:sc_irq_devs
133 struct ti_pruss_irqsc sc_irq_devs[TI_PRUSS_IRQS]; member
314 if (enable && ((sc->sc_irq_devs[irq].channel == -1) || in ti_pruss_interrupts_enable()
315 (sc->sc_irq_devs[irq].event== -1))) in ti_pruss_interrupts_enable()
322 sc->sc_irq_devs[irq].enable = enable; in ti_pruss_interrupts_enable()
324 if (sc->sc_irq_devs[irq].sc_pdev) { in ti_pruss_interrupts_enable()
325 destroy_dev(sc->sc_irq_devs[irq].sc_pdev); in ti_pruss_interrupts_enable()
326 sc->sc_irq_devs[irq].sc_pdev = NULL; in ti_pruss_interrupts_enable()
330 sc->sc_irq_devs[irq].sc_pdev = make_dev(&ti_pruss_cdevirq, 0, UID_ROOT, GID_WHEEL, in ti_pruss_interrupts_enable()
332 sc->sc_irq_devs[irq].sc_pdev->si_drv1 = &sc->sc_irq_devs[irq]; in ti_pruss_interrupts_enable()
334 sc->sc_irq_devs[irq].tstamps.ctl.idx = 0; in ti_pruss_interrupts_enable()
338 ti_pruss_reg_write(sc, reg, sc->sc_irq_devs[irq].channel); in ti_pruss_interrupts_enable()
341 ti_pruss_reg_write(sc, reg, sc->sc_irq_devs[irq].event ); in ti_pruss_interrupts_enable()
366 if(sc->sc_irq_devs[irq].event == -1) in ti_pruss_event_map()
369 snprintf(event, sizeof(event), "%d", sc->sc_irq_devs[irq].event); in ti_pruss_event_map()
378 sc->sc_irq_devs[irq].event = -1; in ti_pruss_event_map()
380 if (sc->sc_irq_devs[irq].channel == -1) { in ti_pruss_event_map()
386 const int8_t channelnr = sc->sc_irq_devs[irq].channel; in ti_pruss_event_map()
395 sc->sc_irq_devs[irq].channel = channelnr; in ti_pruss_event_map()
396 sc->sc_irq_devs[irq].event = eventnr; in ti_pruss_event_map()
416 if (sc->sc_irq_devs[irq].channel == -1) in ti_pruss_channel_map()
419 snprintf(channel, sizeof(channel), "%d", sc->sc_irq_devs[irq].channel); in ti_pruss_channel_map()
429 sc->sc_irq_devs[irq].channel); in ti_pruss_channel_map()
430 sc->sc_irq_devs[irq].channel = -1; in ti_pruss_channel_map()
441 sc->sc_irq_devs[irq].channel = channelnr; in ti_pruss_channel_map()
442 sc->sc_irq_devs[irq].last = -1; in ti_pruss_channel_map()
462 irqenable = sc->sc_irq_devs[arg2].enable; in ti_pruss_interrupt_enable()
654 sc->sc_irq_devs[i].event = -1; in ti_pruss_attach()
655 sc->sc_irq_devs[i].channel = -1; in ti_pruss_attach()
656 sc->sc_irq_devs[i].tstamps.ctl.idx = 0; in ti_pruss_attach()
671 mtx_init(&sc->sc_irq_devs[i].sc_mtx, "TI PRUSS IRQ", NULL, MTX_DEF); in ti_pruss_attach()
672 knlist_init_mtx(&sc->sc_irq_devs[i].sc_selinfo.si_note, &sc->sc_irq_devs[i].sc_mtx); in ti_pruss_attach()
710 knlist_clear(&sc->sc_irq_devs[i].sc_selinfo.si_note, 0); in ti_pruss_detach()
711 mtx_lock(&sc->sc_irq_devs[i].sc_mtx); in ti_pruss_detach()
712 if (!knlist_empty(&sc->sc_irq_devs[i].sc_selinfo.si_note)) in ti_pruss_detach()
714 mtx_unlock(&sc->sc_irq_devs[i].sc_mtx); in ti_pruss_detach()
715 knlist_destroy(&sc->sc_irq_devs[i].sc_selinfo.si_note); in ti_pruss_detach()
716 mtx_destroy(&sc->sc_irq_devs[i].sc_mtx); in ti_pruss_detach()
741 const int pru_channel = sc->sc_irq_devs[pru_int].channel; in ti_pruss_intr()
742 const int pru_event = sc->sc_irq_devs[pru_channel].event; in ti_pruss_intr()
752 struct ti_pruss_irqsc* irq = &sc->sc_irq_devs[pru_channel]; in ti_pruss_intr()