Lines Matching refs:state

378 	audiots_state_t		*state;  in audiots_attach()  local
389 state = ddi_get_soft_state(audiots_statep, instance); in audiots_attach()
390 ASSERT(dip == state->ts_dip); in audiots_attach()
393 if (state->ts_flags & TS_AUDIO_READ_FAILED) { in audiots_attach()
394 ddi_dev_report_fault(state->ts_dip, in audiots_attach()
399 state->ts_flags &= in audiots_attach()
403 audiots_power_up(state); in audiots_attach()
404 audiots_chip_init(state); in audiots_attach()
406 ac97_reset(state->ts_ac97); in audiots_attach()
408 audio_dev_resume(state->ts_adev); in audiots_attach()
437 state = ddi_get_soft_state(audiots_statep, instance); in audiots_attach()
438 ASSERT(state != NULL); in audiots_attach()
440 if ((state->ts_adev = audio_dev_alloc(dip, 0)) == NULL) { in audiots_attach()
446 if (audiots_map_regs(dip, state) == DDI_FAILURE) { in audiots_attach()
447 audio_dev_warn(state->ts_adev, "unable to map registers"); in audiots_attach()
452 if (audiots_init_state(state, dip) == DDI_FAILURE) { in audiots_attach()
453 audio_dev_warn(state->ts_adev, "init state structure failed"); in audiots_attach()
458 audiots_power_up(state); in audiots_attach()
461 audiots_chip_init(state); in audiots_attach()
464 if (ac97_init(state->ts_ac97, state->ts_adev) != 0) { in audiots_attach()
469 ddi_put32(state->ts_acch, &state->ts_regs->aud_regs.ap_ainten, in audiots_attach()
473 if (audio_dev_register(state->ts_adev) != DDI_SUCCESS) { in audiots_attach()
474 audio_dev_warn(state->ts_adev, "unable to register audio"); in audiots_attach()
484 audiots_destroy(state); in audiots_attach()
505 audiots_state_t *state; in audiots_detach() local
511 if ((state = ddi_get_soft_state(audiots_statep, instance)) == NULL) { in audiots_detach()
522 audio_dev_suspend(state->ts_adev); in audiots_detach()
525 (void) audiots_stop_everything(state); in audiots_detach()
534 if (audio_dev_unregister(state->ts_adev) != DDI_SUCCESS) { in audiots_detach()
538 audiots_destroy(state); in audiots_detach()
561 audiots_state_t *state; in audiots_quiesce() local
567 if ((state = ddi_get_soft_state(audiots_statep, instance)) == NULL) { in audiots_quiesce()
571 audiots_stop_everything(state); in audiots_quiesce()
583 audiots_power_up(audiots_state_t *state) in audiots_power_up() argument
585 ddi_acc_handle_t pcih = state->ts_pcih; in audiots_power_up()
646 audiots_chip_init(audiots_state_t *state) in audiots_chip_init() argument
648 ddi_acc_handle_t handle = state->ts_acch; in audiots_chip_init()
649 audiots_regs_t *regs = state->ts_regs; in audiots_chip_init()
697 OR_SET_WORD(handle, &state->ts_regs->aud_regs.ap_global_control, in audiots_chip_init()
702 OR_SET_WORD(handle, &state->ts_regs->aud_regs.ap_sctrl, in audiots_chip_init()
705 AND_SET_WORD(handle, &state->ts_regs->aud_regs.ap_sctrl, in audiots_chip_init()
709 audiots_set_ac97(state, AC97_RESET_REGISTER, 0); in audiots_chip_init()
713 while ((audiots_get_ac97(state, AC97_POWERDOWN_CTRL_STAT_REGISTER) & in audiots_chip_init()
742 audiots_state_t *state = arg; in audiots_get_ac97() local
743 ddi_acc_handle_t handle = state->ts_acch; in audiots_get_ac97()
750 if (state->ts_revid == AC_REV_ID1) { in audiots_get_ac97()
751 data = &state->ts_regs->aud_regs.ap_acrd_35D_data; in audiots_get_ac97()
753 data = &state->ts_regs->aud_regs.ap_acrdwr_data; in audiots_get_ac97()
759 if ((first = audiots_read_ac97(state, reg)) != 0) { in audiots_get_ac97()
769 if ((next = audiots_read_ac97(state, reg)) != 0) { in audiots_get_ac97()
807 audiots_init_state(audiots_state_t *state, dev_info_t *dip) in audiots_init_state() argument
809 state->ts_ac97 = ac97_alloc(dip, audiots_get_ac97, in audiots_init_state()
810 audiots_set_ac97, state); in audiots_init_state()
812 if (state->ts_ac97 == NULL) { in audiots_init_state()
817 state->ts_dip = dip; in audiots_init_state()
820 if (audiots_alloc_port(state, i) != DDI_SUCCESS) { in audiots_init_state()
849 audiots_map_regs(dev_info_t *dip, audiots_state_t *state) in audiots_map_regs() argument
855 if (pci_config_setup(dip, &state->ts_pcih) != DDI_SUCCESS) { in audiots_map_regs()
856 audio_dev_warn(state->ts_adev, in audiots_map_regs()
862 state->ts_devid = in audiots_map_regs()
863 (pci_config_get16(state->ts_pcih, PCI_CONF_VENID) << 16) | in audiots_map_regs()
864 pci_config_get16(state->ts_pcih, PCI_CONF_DEVID); in audiots_map_regs()
865 state->ts_revid = pci_config_get8(state->ts_pcih, PCI_CONF_REVID); in audiots_map_regs()
868 (caddr_t *)&state->ts_regs, 0, 0, &ts_regs_attr, &state->ts_acch) != in audiots_map_regs()
870 audio_dev_warn(state->ts_adev, in audiots_map_regs()
875 switch (state->ts_devid) { in audiots_map_regs()
883 (void) snprintf(rev, sizeof (rev), "Rev %x", state->ts_revid); in audiots_map_regs()
884 audio_dev_set_description(state->ts_adev, name); in audiots_map_regs()
885 audio_dev_set_version(state->ts_adev, rev); in audiots_map_regs()
916 audiots_alloc_port(audiots_state_t *state, int num) in audiots_alloc_port() argument
919 dev_info_t *dip = state->ts_dip; in audiots_alloc_port()
920 audio_dev_t *adev = state->ts_adev; in audiots_alloc_port()
926 ddi_acc_handle_t regsh = state->ts_acch; in audiots_alloc_port()
927 uint32_t *gcptr = &state->ts_regs->aud_regs.ap_cir_gc; in audiots_alloc_port()
930 state->ts_ports[num] = port; in audiots_alloc_port()
932 port->tp_state = state; in audiots_alloc_port()
1021 audiots_read_ac97(audiots_state_t *state, int reg) in audiots_read_ac97() argument
1023 ddi_acc_handle_t acch = state->ts_acch; in audiots_read_ac97()
1026 uint32_t *stimer = &state->ts_regs->aud_regs.ap_stimer; in audiots_read_ac97()
1032 if (state->ts_revid == AC_REV_ID1) { in audiots_read_ac97()
1033 addr = &state->ts_regs->aud_regs.ap_acrd_35D_reg; in audiots_read_ac97()
1034 data = &state->ts_regs->aud_regs.ap_acrd_35D_data; in audiots_read_ac97()
1036 addr = &state->ts_regs->aud_regs.ap_acrdwr_reg; in audiots_read_ac97()
1037 data = &state->ts_regs->aud_regs.ap_acrdwr_data; in audiots_read_ac97()
1057 state->ts_flags |= TS_AUDIO_READ_FAILED; in audiots_read_ac97()
1058 if (!(state->ts_flags & TS_READ_FAILURE_PRINTED)) { in audiots_read_ac97()
1059 ddi_dev_report_fault(state->ts_dip, in audiots_read_ac97()
1062 audio_dev_warn(state->ts_adev, in audiots_read_ac97()
1064 audio_dev_warn(state->ts_adev, in audiots_read_ac97()
1066 audio_dev_warn(state->ts_adev, in audiots_read_ac97()
1070 state->ts_flags |= TS_READ_FAILURE_PRINTED; in audiots_read_ac97()
1109 state->ts_flags |= TS_AUDIO_READ_FAILED; in audiots_read_ac97()
1110 if (!(state->ts_flags & TS_READ_FAILURE_PRINTED)) { in audiots_read_ac97()
1111 ddi_dev_report_fault(state->ts_dip, in audiots_read_ac97()
1114 audio_dev_warn(state->ts_adev, in audiots_read_ac97()
1116 audio_dev_warn(state->ts_adev, in audiots_read_ac97()
1118 audio_dev_warn(state->ts_adev, in audiots_read_ac97()
1122 state->ts_flags |= TS_READ_FAILURE_PRINTED; in audiots_read_ac97()
1148 audiots_state_t *state = arg; in audiots_set_ac97() local
1149 ddi_acc_handle_t handle = state->ts_acch; in audiots_set_ac97()
1150 uint16_t *data_addr = &state->ts_regs->aud_regs.ap_acrdwr_data; in audiots_set_ac97()
1151 uint16_t *reg_addr = &state->ts_regs->aud_regs.ap_acrdwr_reg; in audiots_set_ac97()
1160 if (state->ts_revid == AC_REV_ID1) { in audiots_set_ac97()
1195 tmp_short = audiots_get_ac97(state, reg8); in audiots_set_ac97()
1267 audiots_state_t *state = port->tp_state; in audiots_stop() local
1269 ddi_put32(state->ts_acch, &state->ts_regs->aud_regs.ap_stop, in audiots_stop()
1289 audiots_state_t *state = port->tp_state; in audiots_start() local
1290 ddi_acc_handle_t handle = state->ts_acch; in audiots_start()
1291 audiots_regs_t *regs = state->ts_regs; in audiots_start()
1447 audiots_state_t *state = port->tp_state; in audiots_count() local
1452 cso = ddi_get16(state->ts_acch, in audiots_count()
1453 &state->ts_regs->aud_ram[port->tp_dma_stream].aram.aram_cso); in audiots_count()
1506 audiots_stop_everything(audiots_state_t *state) in audiots_stop_everything() argument
1508 if (state->ts_acch == NULL) in audiots_stop_everything()
1511 ddi_put32(state->ts_acch, &state->ts_regs->aud_regs.ap_ainten, in audiots_stop_everything()
1514 ddi_put32(state->ts_acch, &state->ts_regs->aud_regs.ap_stop, in audiots_stop_everything()
1517 ddi_put32(state->ts_acch, &state->ts_regs->aud_regs.ap_aint, in audiots_stop_everything()
1565 audiots_destroy(audiots_state_t *state) in audiots_destroy() argument
1567 audiots_stop_everything(state); in audiots_destroy()
1570 audiots_free_port(state->ts_ports[i]); in audiots_destroy()
1572 if (state->ts_acch) in audiots_destroy()
1573 ddi_regs_map_free(&state->ts_acch); in audiots_destroy()
1575 if (state->ts_pcih) in audiots_destroy()
1576 pci_config_teardown(&state->ts_pcih); in audiots_destroy()
1578 if (state->ts_ac97) in audiots_destroy()
1579 ac97_free(state->ts_ac97); in audiots_destroy()
1581 if (state->ts_adev) in audiots_destroy()
1582 audio_dev_free(state->ts_adev); in audiots_destroy()
1584 ddi_soft_state_free(audiots_statep, ddi_get_instance(state->ts_dip)); in audiots_destroy()