Lines Matching defs:sc
65 struct ahci_softc sc;
94 struct ahci_softc *sc = &sxisc->sc;
102 sc->sc_iot = faa->fa_iot;
103 sc->sc_ios = faa->fa_reg[0].size;
104 sc->sc_dmat = faa->fa_dmat;
106 if (bus_space_map(sc->sc_iot, faa->fa_reg[0].addr,
107 faa->fa_reg[0].size, 0, &sc->sc_ioh))
117 SXIWRITE4(sc, SXIAHCI_RWC, 0);
120 SXISET4(sc, SXIAHCI_PHYCS1, 1 << 19);
123 SXICMS4(sc, SXIAHCI_PHYCS0, 7 << 24,
127 SXICMS4(sc, SXIAHCI_PHYCS1,
132 SXISET4(sc, SXIAHCI_PHYCS1, 1 << 28 | 1 << 15);
135 SXICLR4(sc, SXIAHCI_PHYCS1, 1 << 19);
138 SXICMS4(sc, SXIAHCI_PHYCS0, 0x07 << 20, 0x03 << 20);
139 SXICMS4(sc, SXIAHCI_PHYCS2, 0x1f << 5, 0x19 << 5);
142 SXISET4(sc, SXIAHCI_PHYCS0, 1 << 19);
146 while ((SXIREAD4(sc, SXIAHCI_PHYCS0) >> 28 & 7) != 2 && --timo)
153 SXISET4(sc, SXIAHCI_PHYCS2, 1 << 24);
156 while ((SXIREAD4(sc, SXIAHCI_PHYCS2) & (1 << 24)) && --timo)
164 SXIWRITE4(sc, SXIAHCI_RWC, 7);
171 sc->sc_ih = arm_intr_establish_fdt(faa->fa_node, IPL_BIO,
172 ahci_intr, sc, sc->sc_dev.dv_xname);
173 if (sc->sc_ih == NULL) {
180 SXIWRITE4(sc, SXIAHCI_PI, 1);
181 SXICLR4(sc, SXIAHCI_CAP, AHCI_REG_CAP_SPM);
182 sc->sc_flags |= AHCI_F_NO_PMP;
183 sc->sc_port_start = sxiahci_port_start;
184 if (ahci_attach(sc) != 0) {
191 arm_intr_disestablish(sc->sc_ih);
197 bus_space_unmap(sc->sc_iot, sc->sc_ioh, sc->sc_ios);
204 struct ahci_softc *sc = &sxisc->sc;
206 ahci_detach(sc, flags);
207 bus_space_unmap(sc->sc_iot, sc->sc_ioh, sc->sc_ios);
215 struct ahci_softc *sc = &sxisc->sc;
217 return ahci_activate((struct device *)sc, act);