Lines Matching refs:tgi

341     struct tegra_gpio_irqsrc *tgi, uint32_t val)  in intr_write_masked()  argument
346 bit = GPIO_BIT(tgi->irq); in intr_write_masked()
349 bus_write_4(sc->mem_res, reg + GPIO_REGNUM(tgi->irq), tmp); in intr_write_masked()
354 struct tegra_gpio_irqsrc *tgi, uint32_t val, uint32_t mask) in intr_write_modify() argument
359 bit = GPIO_BIT(tgi->irq); in intr_write_modify()
361 tmp = bus_read_4(sc->mem_res, reg + GPIO_REGNUM(tgi->irq)); in intr_write_modify()
364 bus_write_4(sc->mem_res, reg + GPIO_REGNUM(tgi->irq), tmp); in intr_write_modify()
370 struct tegra_gpio_irqsrc *tgi, uint32_t val) in tegra_gpio_isrc_mask() argument
373 intr_write_masked(sc, GPIO_MSK_INT_ENB, tgi, val); in tegra_gpio_isrc_mask()
378 struct tegra_gpio_irqsrc *tgi) in tegra_gpio_isrc_eoi() argument
381 intr_write_masked(sc, GPIO_INT_CLR, tgi, 1); in tegra_gpio_isrc_eoi()
385 tegra_gpio_isrc_is_level(struct tegra_gpio_irqsrc *tgi) in tegra_gpio_isrc_is_level() argument
388 return (tgi->cfgreg & GPIO_INT_LVL_EDGE); in tegra_gpio_isrc_is_level()
397 struct tegra_gpio_irqsrc *tgi; in tegra_gpio_intr() local
417 tgi = &sc->isrcs[irq]; in tegra_gpio_intr()
418 if (!tegra_gpio_isrc_is_level(tgi)) in tegra_gpio_intr()
419 tegra_gpio_isrc_eoi(sc, tgi); in tegra_gpio_intr()
420 if (intr_isrc_dispatch(&tgi->isrc, tf) != 0) { in tegra_gpio_intr()
421 tegra_gpio_isrc_mask(sc, tgi, 0); in tegra_gpio_intr()
422 if (tegra_gpio_isrc_is_level(tgi)) in tegra_gpio_intr()
423 tegra_gpio_isrc_eoi(sc, tgi); in tegra_gpio_intr()
475 struct tegra_gpio_irqsrc *tgi; in tegra_gpio_pic_disable_intr() local
478 tgi = (struct tegra_gpio_irqsrc *)isrc; in tegra_gpio_pic_disable_intr()
479 tegra_gpio_isrc_mask(sc, tgi, 0); in tegra_gpio_pic_disable_intr()
486 struct tegra_gpio_irqsrc *tgi; in tegra_gpio_pic_enable_intr() local
489 tgi = (struct tegra_gpio_irqsrc *)isrc; in tegra_gpio_pic_enable_intr()
490 tegra_gpio_isrc_mask(sc, tgi, 1); in tegra_gpio_pic_enable_intr()
604 struct tegra_gpio_irqsrc *tgi; in tegra_gpio_pic_post_filter() local
607 tgi = (struct tegra_gpio_irqsrc *)isrc; in tegra_gpio_pic_post_filter()
608 if (tegra_gpio_isrc_is_level(tgi)) in tegra_gpio_pic_post_filter()
609 tegra_gpio_isrc_eoi(sc, tgi); in tegra_gpio_pic_post_filter()
616 struct tegra_gpio_irqsrc *tgi; in tegra_gpio_pic_post_ithread() local
619 tgi = (struct tegra_gpio_irqsrc *)isrc; in tegra_gpio_pic_post_ithread()
620 tegra_gpio_isrc_mask(sc, tgi, 1); in tegra_gpio_pic_post_ithread()
627 struct tegra_gpio_irqsrc *tgi; in tegra_gpio_pic_pre_ithread() local
630 tgi = (struct tegra_gpio_irqsrc *)isrc; in tegra_gpio_pic_pre_ithread()
632 tegra_gpio_isrc_mask(sc, tgi, 0); in tegra_gpio_pic_pre_ithread()
633 if (tegra_gpio_isrc_is_level(tgi)) in tegra_gpio_pic_pre_ithread()
634 tegra_gpio_isrc_eoi(sc, tgi); in tegra_gpio_pic_pre_ithread()
645 struct tegra_gpio_irqsrc *tgi; in tegra_gpio_pic_setup_intr() local
648 tgi = (struct tegra_gpio_irqsrc *)isrc; in tegra_gpio_pic_setup_intr()
676 return (tgi->cfgreg == cfgreg ? 0 : EINVAL); in tegra_gpio_pic_setup_intr()
678 tgi->cfgreg = cfgreg; in tegra_gpio_pic_setup_intr()
679 intr_write_modify(sc, GPIO_INT_LVL, tgi, cfgreg, GPIO_INT_LVL_MASK); in tegra_gpio_pic_setup_intr()
690 struct tegra_gpio_irqsrc *tgi; in tegra_gpio_pic_teardown_intr() local
693 tgi = (struct tegra_gpio_irqsrc *)isrc; in tegra_gpio_pic_teardown_intr()
696 tegra_gpio_isrc_mask(sc, tgi, 0); in tegra_gpio_pic_teardown_intr()