Home | History | Annotate | Download | only in sa11x0

Lines Matching refs:so

120 	struct sapcic_socket *so = arg;
124 so->laststatus = (so->pcictag->read)(so, SAPCIC_STATUS_CARD);
125 if (so->laststatus == SAPCIC_CARD_VALID) {
126 aprint_normal_dev(so->sc->sc_dev, "card present\n");
127 pcmcia_card_attach(so->pcmcia);
130 if (kthread_create(PRI_NONE, 0, NULL, sapcic_event_thread, so,
131 &so->event_thread, "%s,%d", device_xname(so->sc->sc_dev), so->socket)) {
132 aprint_normal_dev(so->sc->sc_dev, "unable to create event thread for socket %d\n",
133 so->socket);
141 struct sapcic_socket *so = arg;
144 while (so->shutdown == 0) {
149 mutex_enter(&so->sc->sc_lock);
155 so->event = 0;
158 newstatus = (so->pcictag->read)(so, SAPCIC_STATUS_CARD);
161 if (so->laststatus == newstatus) {
165 mutex_exit(&so->sc->sc_lock);
166 (void) tsleep(&so->event, PWAIT, "pcicev", hz);
170 so->laststatus = newstatus;
173 aprint_normal_dev(so->sc->sc_dev, "insertion event\n");
175 pcmcia_card_attach(so->pcmcia);
179 aprint_normal_dev(so->sc->sc_dev, "removal event\n");
181 pcmcia_card_detach(so->pcmcia, DETACH_FORCE);
189 mutex_exit(&so->sc->sc_lock);
192 so->event_thread = NULL;
195 wakeup(so->sc);
214 struct sapcic_socket *so = arg;
216 so->event++;
217 (so->pcictag->clear_intr)(so->socket);
218 wakeup(&so->event);
226 struct sapcic_socket *so = pch;
230 pmh->memt = so->sc->sc_iot;
245 struct sapcic_socket *so = pch;
255 pa += SAPCIC_SOCKET_OFFSET * so->socket;
268 error = bus_space_map(so->sc->sc_iot, pa, size, 0, &pmh->memh);
277 struct sapcic_socket *so = pch;
279 bus_space_unmap(so->sc->sc_iot, (bus_addr_t)window, 4096); /* XXX */
286 struct sapcic_socket *so = pch;
291 pih->iot = so->sc->sc_iot;
297 pa += SAPCIC_SOCKET_OFFSET * so->socket;
302 error = bus_space_map(so->sc->sc_iot, pa, size, 0, &pih->ioh);
310 struct sapcic_socket *so = pch;
312 bus_space_unmap(so->sc->sc_iot, pih->ioh, pih->size);
331 struct sapcic_socket *so = pch;
335 return (so->pcictag->intr_establish)(so, ipl, fct, arg);
341 struct sapcic_socket *so = pch;
343 (so->pcictag->intr_disestablish)(so, ih);
349 struct sapcic_socket *so = pch;
353 if (so->flags & PCIC_FLAG_ENABLED)
360 (so->pcictag->set_power)(so, SAPCIC_POWER_OFF);
370 if (so->power_capability & SAPCIC_POWER_5V) {
371 (so->pcictag->set_power)(so, SAPCIC_POWER_5V);
372 (so->pcictag->write)(so, SAPCIC_CONTROL_POWERSELECT,
375 (so->pcictag->set_power)(so, SAPCIC_POWER_3V);
376 (so->pcictag->write)(so, SAPCIC_CONTROL_POWERSELECT,
381 (so->pcictag->write)(so, SAPCIC_CONTROL_LINEENABLE, 1);
393 (so->pcictag->write)(so, SAPCIC_CONTROL_WAITENABLE, 1);
395 (so->pcictag->write)(so, SAPCIC_CONTROL_RESET, 1);
404 (so->pcictag->write)(so, SAPCIC_CONTROL_RESET, 0);
412 if ((so->pcictag->read)(so, SAPCIC_STATUS_READY))
425 struct sapcic_socket *so = pch;
430 (so->pcictag->set_power)(so, SAPCIC_POWER_OFF);
433 (so->pcictag->write)(so, SAPCIC_CONTROL_LINEENABLE, 0);