Lines Matching defs:sc
74 struct mvgicp_softc *sc = (struct mvgicp_softc *)self;
85 sc->sc_spi_ranges, sizeof(sc->sc_spi_ranges));
86 sc->sc_nspi = sc->sc_spi_ranges[1] + sc->sc_spi_ranges[3];
87 sc->sc_spi = mallocarray(sc->sc_nspi, sizeof(void *),
90 sc->sc_iot = faa->fa_iot;
91 if (bus_space_map(sc->sc_iot, faa->fa_reg[0].addr,
92 faa->fa_reg[0].size, 0, &sc->sc_ioh)) {
98 if (!pmap_extract(pmap_kernel(), sc->sc_ioh, &sc->sc_addr)) {
110 sc->sc_parent_ic = ic;
112 sc->sc_ic.ic_node = faa->fa_node;
113 sc->sc_ic.ic_cookie = sc;
114 sc->sc_ic.ic_establish_msi = mvgicp_intr_establish;
115 sc->sc_ic.ic_disestablish = mvgicp_intr_disestablish;
116 sc->sc_ic.ic_barrier = mvgicp_intr_barrier;
117 fdt_intr_register(&sc->sc_ic);
126 struct mvgicp_softc *sc = (struct mvgicp_softc *)self;
127 struct interrupt_controller *ic = sc->sc_parent_ic;
137 for (i = 0; i < sc->sc_nspi; i++) {
138 if (sc->sc_spi[i] == NULL) {
143 if (i == sc->sc_nspi)
148 *addr = sc->sc_addr;
152 for (i = 0; i < nitems(sc->sc_spi_ranges); i += 2) {
153 if (spi < sc->sc_spi_ranges[i + 1]) {
154 spi += sc->sc_spi_ranges[i];
157 spi -= sc->sc_spi_ranges[i + 1];
159 if (i == nitems(sc->sc_spi_ranges))
174 sc->sc_spi[*data] = ih;
175 return &sc->sc_spi[*data];