Lines Matching defs:sc

71 tzic_read_4(struct tzic_softc *sc, int reg)
74 return (bus_read_4(sc->tzicregs, reg));
78 tzic_write_4(struct tzic_softc *sc, int reg, uint32_t val)
81 bus_write_4(sc->tzicregs, reg, val);
85 tzic_irq_eoi(struct tzic_softc *sc)
88 tzic_write_4(sc, TZIC_PRIOMASK, 0xff);
92 tzic_irq_mask(struct tzic_softc *sc, u_int irq)
95 tzic_write_4(sc, TZIC_ENCLEAR(irq >> 5), (1u << (irq & 0x1f)));
99 tzic_irq_unmask(struct tzic_softc *sc, u_int irq)
102 tzic_write_4(sc, TZIC_ENSET(irq >> 5), (1u << (irq & 0x1f)));
108 struct tzic_softc *sc = arg;
114 pending = tzic_read_4(sc, TZIC_PND(i));
118 tzic_write_4(sc, TZIC_PRIOMASK, 0);
119 if (intr_isrc_dispatch(&sc->isrcs[irq].isrc,
121 tzic_irq_mask(sc, irq);
122 tzic_irq_eoi(sc);
125 device_printf(sc->dev,
133 device_printf(sc->dev, "Spurious interrupt detected\n");
142 struct tzic_softc *sc = device_get_softc(dev);
145 tzic_irq_unmask(sc, irq);
152 struct tzic_softc *sc = device_get_softc(dev);
154 tzic_irq_mask(sc, irq);
162 struct tzic_softc *sc;
171 sc = device_get_softc(dev);
172 *isrcp = &sc->isrcs[daf->cells[0]].isrc;
180 struct tzic_softc *sc = device_get_softc(dev);
182 tzic_irq_mask(sc, ((struct tzic_irqsrc *)isrc)->irq);
183 tzic_irq_eoi(sc);
201 tzic_pic_attach(struct tzic_softc *sc)
209 name = device_get_nameunit(sc->dev);
211 sc->isrcs[irq].irq = irq;
212 error = intr_isrc_register(&sc->isrcs[irq].isrc,
213 sc->dev, 0, "%s,%u", name, irq);
218 xref = OF_xref_from_node(ofw_bus_get_node(sc->dev));
219 pic = intr_pic_register(sc->dev, xref);
223 return (intr_pic_claim_root(sc->dev, xref, tzic_intr, sc, 0));
243 struct tzic_softc *sc = device_get_softc(dev);
248 tzic_sc = sc;
249 sc->dev = dev;
252 sc->tzicregs = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &i,
254 if (sc->tzicregs == NULL) {
261 tzic_write_4(sc, TZIC_INTSEC(i), 0xffffffff);
265 tzic_write_4(sc, TZIC_ENCLEAR(i), 0xffffffff);
269 tzic_write_4(sc, TZIC_PRIORITY(i), 0);
275 tzic_write_4(sc, TZIC_PRIOMASK, 0xff);
276 tzic_write_4(sc, TZIC_SYNCCTRL, 0);
277 tzic_write_4(sc, TZIC_INTCNTL, INTCNTL_NSEN_MASK|INTCNTL_NSEN|INTCNTL_EN);
280 if (tzic_pic_attach(sc) != 0) {