Lines Matching refs:sd_state

180 	if (rcs->sd_state.sio_handle != NULL && !rcs->sd_state.sio_fault) {
207 ddi_put8(rcs->sd_state.sio_handle,
208 rcs->sd_state.sio_regs + reg, val);
209 ddi_put8(rcs->sd_state.sio_handle,
210 rcs->sd_state.sio_regs + SIO_SCR, val);
212 (void) ddi_get8(rcs->sd_state.sio_handle,
213 rcs->sd_state.sio_regs + SIO_SCR);
222 if (rcs->sd_state.sio_handle && !rcs->sd_state.sio_fault)
223 val = ddi_get8(rcs->sd_state.sio_handle,
224 rcs->sd_state.sio_regs + reg);
234 rcs->sd_state.sio_fault =
235 ddi_check_acc_handle(rcs->sd_state.sio_handle) != DDI_SUCCESS;
241 if (!rcs->sd_state.sio_fault)
243 return (rcs->sd_state.sio_fault);
272 rcs->sd_state.hw_int_enabled = newstate;
303 if (rcs->sd_state.cycid != NULL) {
313 if (mutex_tryenter(rcs->sd_state.hw_mutex) == 0) {
317 mutex_enter(rcs->sd_state.hw_mutex);
319 if (rcs->sd_state.hw_int_enabled) {
321 ddi_trigger_softintr(rcs->sd_state.softid);
324 mutex_exit(rcs->sd_state.hw_mutex);
350 char *rx_buf = rcs->sd_state.serdev_rx_buf;
365 mutex_enter(rcs->sd_state.hw_mutex);
372 rcs->sd_state.serdev_rx_count = rx_buflen;
377 mutex_exit(rcs->sd_state.hw_mutex);
442 mutex_enter(rcs->sd_state.hw_mutex);
459 mutex_exit(rcs->sd_state.hw_mutex);
470 mutex_enter(rcs->sd_state.hw_mutex);
476 mutex_exit(rcs->sd_state.hw_mutex);
542 if (rcs->sd_state.sio_handle != NULL)
543 ddi_regs_map_free(&rcs->sd_state.sio_handle);
544 rcs->sd_state.sio_handle = NULL;
545 rcs->sd_state.sio_regs = NULL;
568 rcs->sd_state.sio_handle = h;
569 rcs->sd_state.sio_regs = (void *)p;
597 rcs->sd_state.cycid = NULL;
617 err = ddi_get_iblock_cookie(dip, 0, &rcs->sd_state.hw_iblk);
627 mutex_init(rcs->sd_state.hw_mutex, NULL, MUTEX_DRIVER,
628 rcs->sd_state.hw_iblk);
638 err = ddi_add_softintr(dip, DDI_SOFTINT_LOW, &rcs->sd_state.softid,
642 mutex_destroy(rcs->sd_state.hw_mutex);
650 if (rcs->sd_state.sio_handle != NULL) {
651 err = ddi_add_intr(dip, 0, &rcs->sd_state.hw_iblk, NULL,
658 ddi_remove_softintr(rcs->sd_state.softid);
660 mutex_destroy(rcs->sd_state.hw_mutex);
668 rcs->sd_state.cycid = ddi_periodic_add(rmc_comm_cyclic, rcs,
683 if (rcs->sd_state.cycid != NULL) {
684 ddi_periodic_delete(rcs->sd_state.cycid);
685 rcs->sd_state.cycid = NULL;
687 if (rcs->sd_state.sio_handle != NULL)
688 ddi_remove_intr(dip, 0, rcs->sd_state.hw_iblk);
690 ddi_remove_softintr(rcs->sd_state.softid);
692 mutex_destroy(rcs->sd_state.hw_mutex);