Lines Matching refs:spec
814 struct ca0132_spec *spec = codec->spec; in chipio_write_address() local
817 if (spec->curr_chip_addx == chip_addx) in chipio_write_address()
830 spec->curr_chip_addx = (res < 0) ? ~0UL : chip_addx; in chipio_write_address()
840 struct ca0132_spec *spec = codec->spec; in chipio_write_data() local
854 spec->curr_chip_addx = (res != -EIO) ? in chipio_write_data()
855 (spec->curr_chip_addx + 4) : ~0UL; in chipio_write_data()
885 struct ca0132_spec *spec = codec->spec; in chipio_read_data() local
905 spec->curr_chip_addx = (res != -EIO) ? in chipio_read_data()
906 (spec->curr_chip_addx + 4) : ~0UL; in chipio_read_data()
917 struct ca0132_spec *spec = codec->spec; in chipio_write() local
920 mutex_lock(&spec->chipio_mutex); in chipio_write()
932 mutex_unlock(&spec->chipio_mutex); in chipio_write()
945 struct ca0132_spec *spec = codec->spec; in chipio_write_multiple() local
948 mutex_lock(&spec->chipio_mutex); in chipio_write_multiple()
955 mutex_unlock(&spec->chipio_mutex); in chipio_write_multiple()
967 struct ca0132_spec *spec = codec->spec; in chipio_read() local
970 mutex_lock(&spec->chipio_mutex); in chipio_read()
982 mutex_unlock(&spec->chipio_mutex); in chipio_read()
1008 struct ca0132_spec *spec = codec->spec; in chipio_set_control_param() local
1016 mutex_lock(&spec->chipio_mutex); in chipio_set_control_param()
1025 mutex_unlock(&spec->chipio_mutex); in chipio_set_control_param()
1045 struct ca0132_spec *spec = codec->spec; in chipio_enable_clocks() local
1047 mutex_lock(&spec->chipio_mutex); in chipio_enable_clocks()
1060 mutex_unlock(&spec->chipio_mutex); in chipio_enable_clocks()
1106 struct ca0132_spec *spec = codec->spec; in dspio_write() local
1111 mutex_lock(&spec->chipio_mutex); in dspio_write()
1126 mutex_unlock(&spec->chipio_mutex); in dspio_write()
1280 struct ca0132_spec *spec = codec->spec; in dspio_get_response_data() local
1287 if ((data & 0x00ffffff) == spec->wait_scp_header) { in dspio_get_response_data()
1288 spec->scp_resp_header = data; in dspio_get_response_data()
1289 spec->scp_resp_count = data >> 27; in dspio_get_response_data()
1290 count = spec->wait_num_data; in dspio_get_response_data()
1291 dspio_read_multiple(codec, spec->scp_resp_data, in dspio_get_response_data()
1292 &spec->scp_resp_count, count); in dspio_get_response_data()
1309 struct ca0132_spec *spec = codec->spec; in dspio_send_scp_message() local
1336 spec->wait_scp_header = *((unsigned int *)send_buf); in dspio_send_scp_message()
1341 spec->wait_scp_header &= 0xffff0000; in dspio_send_scp_message()
1342 spec->wait_scp_header |= (resp_src_id << 8) | (resp_target_id); in dspio_send_scp_message()
1343 spec->wait_num_data = return_buf_size/sizeof(unsigned int) - 1; in dspio_send_scp_message()
1344 spec->wait_scp = 1; in dspio_send_scp_message()
1351 spec->wait_scp = 0; in dspio_send_scp_message()
1360 } while (spec->wait_scp && time_before(jiffies, timeout)); in dspio_send_scp_message()
1362 if (!spec->wait_scp) { in dspio_send_scp_message()
1364 memcpy(&ret_msg->hdr, &spec->scp_resp_header, 4); in dspio_send_scp_message()
1365 memcpy(&ret_msg->data, spec->scp_resp_data, in dspio_send_scp_message()
1366 spec->wait_num_data); in dspio_send_scp_message()
1367 *bytes_returned = (spec->scp_resp_count + 1) * 4; in dspio_send_scp_message()
1372 spec->wait_scp = 0; in dspio_send_scp_message()
2073 struct ca0132_spec *spec = codec->spec; in dma_reset() local
2085 spec->dsp_stream_id = status; in dma_reset()
2136 struct ca0132_spec *spec = dma->codec->spec; in dma_get_stream_id() local
2138 return spec->dsp_stream_id; in dma_get_stream_id()
2431 struct ca0132_spec *spec = codec->spec; in dspxfr_image() local
2475 spec->dsp_stream_id = status; in dspxfr_image()
2670 struct ca0132_spec *spec = codec->spec; in ca0132_playback_pcm_prepare() local
2672 snd_hda_codec_setup_stream(codec, spec->dacs[0], stream_tag, 0, format); in ca0132_playback_pcm_prepare()
2681 struct ca0132_spec *spec = codec->spec; in ca0132_playback_pcm_cleanup() local
2683 if (spec->dsp_state == DSP_DOWNLOADING) in ca0132_playback_pcm_cleanup()
2688 if (spec->effects_switch[PLAY_ENHANCEMENT - EFFECT_START_NID]) in ca0132_playback_pcm_cleanup()
2691 snd_hda_codec_cleanup_stream(codec, spec->dacs[0]); in ca0132_playback_pcm_cleanup()
2700 struct ca0132_spec *spec = codec->spec; in ca0132_playback_pcm_delay() local
2704 if (spec->dsp_state != DSP_DOWNLOADED) in ca0132_playback_pcm_delay()
2708 if (spec->effects_switch[PLAY_ENHANCEMENT - EFFECT_START_NID]) { in ca0132_playback_pcm_delay()
2709 if ((spec->effects_switch[SURROUND - EFFECT_START_NID]) || in ca0132_playback_pcm_delay()
2710 (spec->effects_switch[DIALOG_PLUS - EFFECT_START_NID])) in ca0132_playback_pcm_delay()
2715 if (spec->cur_out_type == SPEAKER_OUT) in ca0132_playback_pcm_delay()
2728 struct ca0132_spec *spec = codec->spec; in ca0132_dig_playback_pcm_open() local
2729 return snd_hda_multi_out_dig_open(codec, &spec->multiout); in ca0132_dig_playback_pcm_open()
2738 struct ca0132_spec *spec = codec->spec; in ca0132_dig_playback_pcm_prepare() local
2739 return snd_hda_multi_out_dig_prepare(codec, &spec->multiout, in ca0132_dig_playback_pcm_prepare()
2747 struct ca0132_spec *spec = codec->spec; in ca0132_dig_playback_pcm_cleanup() local
2748 return snd_hda_multi_out_dig_cleanup(codec, &spec->multiout); in ca0132_dig_playback_pcm_cleanup()
2755 struct ca0132_spec *spec = codec->spec; in ca0132_dig_playback_pcm_close() local
2756 return snd_hda_multi_out_dig_close(codec, &spec->multiout); in ca0132_dig_playback_pcm_close()
2778 struct ca0132_spec *spec = codec->spec; in ca0132_capture_pcm_cleanup() local
2780 if (spec->dsp_state == DSP_DOWNLOADING) in ca0132_capture_pcm_cleanup()
2791 struct ca0132_spec *spec = codec->spec; in ca0132_capture_pcm_delay() local
2795 if (spec->dsp_state != DSP_DOWNLOADED) in ca0132_capture_pcm_delay()
2798 if (spec->effects_switch[CRYSTAL_VOICE - EFFECT_START_NID]) in ca0132_capture_pcm_delay()
2926 struct ca0132_spec *spec = codec->spec; in tuning_ctl_get() local
2931 *valp = spec->cur_ctl_vals[idx]; in tuning_ctl_get()
2952 struct ca0132_spec *spec = codec->spec; in voice_focus_ctl_put() local
2959 if (spec->cur_ctl_vals[idx] == *valp) in voice_focus_ctl_put()
2962 spec->cur_ctl_vals[idx] = *valp; in voice_focus_ctl_put()
2987 struct ca0132_spec *spec = codec->spec; in mic_svm_ctl_put() local
2994 if (spec->cur_ctl_vals[idx] == *valp) in mic_svm_ctl_put()
2997 spec->cur_ctl_vals[idx] = *valp; in mic_svm_ctl_put()
3022 struct ca0132_spec *spec = codec->spec; in equalizer_ctl_put() local
3029 if (spec->cur_ctl_vals[idx] == *valp) in equalizer_ctl_put()
3032 spec->cur_ctl_vals[idx] = *valp; in equalizer_ctl_put()
3103 struct ca0132_spec *spec = codec->spec; in ca0132_init_tuning_defaults() local
3107 spec->cur_ctl_vals[WEDGE_ANGLE - TUNING_CTL_START_NID] = 10; in ca0132_init_tuning_defaults()
3109 spec->cur_ctl_vals[SVM_LEVEL - TUNING_CTL_START_NID] = 74; in ca0132_init_tuning_defaults()
3113 spec->cur_ctl_vals[i] = 24; in ca0132_init_tuning_defaults()
3125 struct ca0132_spec *spec = codec->spec; in ca0132_select_out() local
3136 auto_jack = spec->vnode_lswitch[VNID_HP_ASEL - VNODE_START_NID]; in ca0132_select_out()
3139 jack_present = snd_hda_jack_detect(codec, spec->out_pins[1]); in ca0132_select_out()
3142 spec->vnode_lswitch[VNID_HP_SEL - VNODE_START_NID]; in ca0132_select_out()
3145 spec->cur_out_type = HEADPHONE_OUT; in ca0132_select_out()
3147 spec->cur_out_type = SPEAKER_OUT; in ca0132_select_out()
3149 if (spec->cur_out_type == SPEAKER_OUT) { in ca0132_select_out()
3163 snd_hda_codec_write(codec, spec->out_pins[1], 0, in ca0132_select_out()
3165 snd_hda_codec_write(codec, spec->out_pins[0], 0, in ca0132_select_out()
3167 snd_hda_codec_write(codec, spec->out_pins[0], 0, in ca0132_select_out()
3169 snd_hda_codec_write(codec, spec->out_pins[0], 0, in ca0132_select_out()
3173 pin_ctl = snd_hda_codec_read(codec, spec->out_pins[1], 0, in ca0132_select_out()
3175 snd_hda_set_pin_ctl(codec, spec->out_pins[1], in ca0132_select_out()
3178 pin_ctl = snd_hda_codec_read(codec, spec->out_pins[0], 0, in ca0132_select_out()
3180 snd_hda_set_pin_ctl(codec, spec->out_pins[0], in ca0132_select_out()
3196 snd_hda_codec_write(codec, spec->out_pins[0], 0, in ca0132_select_out()
3198 snd_hda_codec_write(codec, spec->out_pins[0], 0, in ca0132_select_out()
3200 snd_hda_codec_write(codec, spec->out_pins[1], 0, in ca0132_select_out()
3202 snd_hda_codec_write(codec, spec->out_pins[0], 0, in ca0132_select_out()
3206 pin_ctl = snd_hda_codec_read(codec, spec->out_pins[0], 0, in ca0132_select_out()
3208 snd_hda_set_pin_ctl(codec, spec->out_pins[0], in ca0132_select_out()
3211 pin_ctl = snd_hda_codec_read(codec, spec->out_pins[1], 0, in ca0132_select_out()
3213 snd_hda_set_pin_ctl(codec, spec->out_pins[1], in ca0132_select_out()
3225 struct ca0132_spec *spec = container_of( in ca0132_unsol_hp_delayed() local
3229 ca0132_select_out(spec->codec); in ca0132_unsol_hp_delayed()
3230 jack = snd_hda_jack_tbl_get(spec->codec, UNSOL_TAG_HP); in ca0132_unsol_hp_delayed()
3233 snd_hda_jack_report_sync(spec->codec); in ca0132_unsol_hp_delayed()
3246 struct ca0132_spec *spec = codec->spec; in ca0132_set_vipsource() local
3249 if (spec->dsp_state != DSP_DOWNLOADED) in ca0132_set_vipsource()
3253 if (!spec->effects_switch[CRYSTAL_VOICE - EFFECT_START_NID] || in ca0132_set_vipsource()
3258 if (spec->cur_mic_type == DIGITAL_MIC) in ca0132_set_vipsource()
3268 if (spec->cur_mic_type == DIGITAL_MIC) in ca0132_set_vipsource()
3290 struct ca0132_spec *spec = codec->spec; in ca0132_select_mic() local
3298 auto_jack = spec->vnode_lswitch[VNID_AMIC1_ASEL - VNODE_START_NID]; in ca0132_select_mic()
3301 jack_present = snd_hda_jack_detect(codec, spec->input_pins[0]); in ca0132_select_mic()
3304 spec->vnode_lswitch[VNID_AMIC1_SEL - VNODE_START_NID]; in ca0132_select_mic()
3307 spec->cur_mic_type = LINE_MIC_IN; in ca0132_select_mic()
3309 spec->cur_mic_type = DIGITAL_MIC; in ca0132_select_mic()
3311 if (spec->cur_mic_type == DIGITAL_MIC) { in ca0132_select_mic()
3318 spec->effects_switch in ca0132_select_mic()
3324 ca0132_mic_boost_set(codec, spec->cur_mic_boost); in ca0132_select_mic()
3341 struct ca0132_spec *spec = codec->spec; in ca0132_is_vnode_effective() local
3346 nid = spec->shared_out_nid; in ca0132_is_vnode_effective()
3349 nid = spec->shared_mic_nid; in ca0132_is_vnode_effective()
3367 struct ca0132_spec *spec = codec->spec; in ca0132_voicefx_set() local
3372 tmp = spec->effects_switch[CRYSTAL_VOICE - EFFECT_START_NID] ? in ca0132_voicefx_set()
3389 struct ca0132_spec *spec = codec->spec; in ca0132_effects_set() local
3401 if (!spec->effects_switch[PLAY_ENHANCEMENT - EFFECT_START_NID]) in ca0132_effects_set()
3408 if (!spec->effects_switch[CRYSTAL_VOICE - EFFECT_START_NID]) in ca0132_effects_set()
3412 if ((nid == VOICE_FOCUS) && (spec->cur_mic_type != DIGITAL_MIC)) in ca0132_effects_set()
3434 struct ca0132_spec *spec = codec->spec; in ca0132_pe_switch_set() local
3439 spec->effects_switch[PLAY_ENHANCEMENT - EFFECT_START_NID]); in ca0132_pe_switch_set()
3445 ret |= ca0132_effects_set(codec, nid, spec->effects_switch[i]); in ca0132_pe_switch_set()
3453 struct ca0132_spec *spec = codec->spec; in stop_mic1() local
3454 unsigned int oldval = snd_hda_codec_read(codec, spec->adcs[0], 0, in stop_mic1()
3457 snd_hda_codec_write(codec, spec->adcs[0], 0, in stop_mic1()
3466 struct ca0132_spec *spec = codec->spec; in resume_mic1() local
3469 snd_hda_codec_write(codec, spec->adcs[0], 0, in resume_mic1()
3479 struct ca0132_spec *spec = codec->spec; in ca0132_cvoice_switch_set() local
3485 spec->effects_switch[CRYSTAL_VOICE - EFFECT_START_NID]); in ca0132_cvoice_switch_set()
3491 ret |= ca0132_effects_set(codec, nid, spec->effects_switch[i]); in ca0132_cvoice_switch_set()
3494 ret |= ca0132_voicefx_set(codec, (spec->voicefx_val ? 1 : 0)); in ca0132_cvoice_switch_set()
3505 struct ca0132_spec *spec = codec->spec; in ca0132_mic_boost_set() local
3509 ret = snd_hda_codec_amp_update(codec, spec->input_pins[0], 0, in ca0132_mic_boost_set()
3512 ret = snd_hda_codec_amp_update(codec, spec->input_pins[0], 0, in ca0132_mic_boost_set()
3526 struct ca0132_spec *spec = codec->spec; in ca0132_vnode_switch_set() local
3531 spec->vnode_lswitch[VNID_HP_ASEL - VNODE_START_NID]; in ca0132_vnode_switch_set()
3539 spec->vnode_lswitch[VNID_AMIC1_ASEL - VNODE_START_NID]; in ca0132_vnode_switch_set()
3595 struct ca0132_spec *spec = codec->spec; in ca0132_voicefx_get() local
3597 ucontrol->value.enumerated.item[0] = spec->voicefx_val; in ca0132_voicefx_get()
3605 struct ca0132_spec *spec = codec->spec; in ca0132_voicefx_put() local
3630 spec->voicefx_val = sel; in ca0132_voicefx_put()
3642 struct ca0132_spec *spec = codec->spec; in ca0132_switch_get() local
3650 *valp = spec->vnode_lswitch[nid - VNODE_START_NID]; in ca0132_switch_get()
3654 *valp = spec->vnode_rswitch[nid - VNODE_START_NID]; in ca0132_switch_get()
3662 *valp = spec->effects_switch[nid - EFFECT_START_NID]; in ca0132_switch_get()
3667 if (nid == spec->input_pins[0]) { in ca0132_switch_get()
3668 *valp = spec->cur_mic_boost; in ca0132_switch_get()
3679 struct ca0132_spec *spec = codec->spec; in ca0132_switch_put() local
3692 spec->vnode_lswitch[nid - VNODE_START_NID] = *valp; in ca0132_switch_put()
3696 spec->vnode_rswitch[nid - VNODE_START_NID] = *valp; in ca0132_switch_put()
3705 spec->effects_switch[nid - EFFECT_START_NID] = *valp; in ca0132_switch_put()
3712 spec->effects_switch[nid - EFFECT_START_NID] = *valp; in ca0132_switch_put()
3720 spec->effects_switch[nid - EFFECT_START_NID] = *valp; in ca0132_switch_put()
3726 if (nid == spec->input_pins[0]) { in ca0132_switch_put()
3727 spec->cur_mic_boost = *valp; in ca0132_switch_put()
3730 if (spec->cur_mic_type != DIGITAL_MIC) in ca0132_switch_put()
3747 struct ca0132_spec *spec = codec->spec; in ca0132_volume_info() local
3757 nid = spec->shared_out_nid; in ca0132_volume_info()
3767 nid = spec->shared_mic_nid; in ca0132_volume_info()
3785 struct ca0132_spec *spec = codec->spec; in ca0132_volume_get() local
3792 *valp = spec->vnode_lvol[nid - VNODE_START_NID]; in ca0132_volume_get()
3796 *valp = spec->vnode_rvol[nid - VNODE_START_NID]; in ca0132_volume_get()
3806 struct ca0132_spec *spec = codec->spec; in ca0132_volume_put() local
3816 spec->vnode_lvol[nid - VNODE_START_NID] = *valp; in ca0132_volume_put()
3820 spec->vnode_rvol[nid - VNODE_START_NID] = *valp; in ca0132_volume_put()
3848 struct ca0132_spec *spec = codec->spec; in ca0132_volume_tlv() local
3858 nid = spec->shared_out_nid; in ca0132_volume_tlv()
3868 nid = spec->shared_mic_nid; in ca0132_volume_tlv()
3932 struct ca0132_spec *spec = codec->spec; in ca0132_build_controls() local
3937 for (i = 0; i < spec->num_mixers; i++) { in ca0132_build_controls()
3938 err = snd_hda_add_new_ctls(codec, spec->mixers[i]); in ca0132_build_controls()
3969 err = snd_hda_jack_add_kctls(codec, &spec->autocfg); in ca0132_build_controls()
3973 if (spec->dig_out) { in ca0132_build_controls()
3974 err = snd_hda_create_spdif_out_ctls(codec, spec->dig_out, in ca0132_build_controls()
3975 spec->dig_out); in ca0132_build_controls()
3978 err = snd_hda_create_spdif_share_sw(codec, &spec->multiout); in ca0132_build_controls()
3984 if (spec->dig_in) { in ca0132_build_controls()
3985 err = snd_hda_create_spdif_in_ctls(codec, spec->dig_in); in ca0132_build_controls()
4037 struct ca0132_spec *spec = codec->spec; in ca0132_build_pcms() local
4044 info->stream[SNDRV_PCM_STREAM_PLAYBACK].nid = spec->dacs[0]; in ca0132_build_pcms()
4046 spec->multiout.max_channels; in ca0132_build_pcms()
4049 info->stream[SNDRV_PCM_STREAM_CAPTURE].nid = spec->adcs[0]; in ca0132_build_pcms()
4056 info->stream[SNDRV_PCM_STREAM_CAPTURE].nid = spec->adcs[1]; in ca0132_build_pcms()
4063 info->stream[SNDRV_PCM_STREAM_CAPTURE].nid = spec->adcs[2]; in ca0132_build_pcms()
4065 if (!spec->dig_out && !spec->dig_in) in ca0132_build_pcms()
4072 if (spec->dig_out) { in ca0132_build_pcms()
4075 info->stream[SNDRV_PCM_STREAM_PLAYBACK].nid = spec->dig_out; in ca0132_build_pcms()
4077 if (spec->dig_in) { in ca0132_build_pcms()
4080 info->stream[SNDRV_PCM_STREAM_CAPTURE].nid = spec->dig_in; in ca0132_build_pcms()
4135 struct ca0132_spec *spec = codec->spec; in ca0132_set_dmic() local
4149 val = spec->dmic_ctl; in ca0132_set_dmic()
4151 snd_hda_codec_write(codec, spec->input_pins[0], 0, in ca0132_set_dmic()
4154 if (!(spec->dmic_ctl & 0x20)) in ca0132_set_dmic()
4161 val = spec->dmic_ctl; in ca0132_set_dmic()
4164 snd_hda_codec_write(codec, spec->input_pins[0], 0, in ca0132_set_dmic()
4167 if (!(spec->dmic_ctl & 0x20)) in ca0132_set_dmic()
4179 struct ca0132_spec *spec = codec->spec; in ca0132_init_dmic() local
4192 snd_hda_codec_write(codec, spec->input_pins[0], 0, in ca0132_init_dmic()
4202 snd_hda_codec_write(codec, spec->input_pins[0], 0, in ca0132_init_dmic()
4214 spec->dmic_ctl = val; in ca0132_init_dmic()
4215 snd_hda_codec_write(codec, spec->input_pins[0], 0, in ca0132_init_dmic()
4224 struct ca0132_spec *spec = codec->spec; in ca0132_init_analog_mic2() local
4226 mutex_lock(&spec->chipio_mutex); in ca0132_init_analog_mic2()
4239 mutex_unlock(&spec->chipio_mutex); in ca0132_init_analog_mic2()
4244 struct ca0132_spec *spec = codec->spec; in ca0132_refresh_widget_caps() local
4250 for (i = 0; i < spec->multiout.num_dacs; i++) in ca0132_refresh_widget_caps()
4251 refresh_amp_caps(codec, spec->dacs[i], HDA_OUTPUT); in ca0132_refresh_widget_caps()
4253 for (i = 0; i < spec->num_outputs; i++) in ca0132_refresh_widget_caps()
4254 refresh_amp_caps(codec, spec->out_pins[i], HDA_OUTPUT); in ca0132_refresh_widget_caps()
4256 for (i = 0; i < spec->num_inputs; i++) { in ca0132_refresh_widget_caps()
4257 refresh_amp_caps(codec, spec->adcs[i], HDA_INPUT); in ca0132_refresh_widget_caps()
4258 refresh_amp_caps(codec, spec->input_pins[i], HDA_INPUT); in ca0132_refresh_widget_caps()
4267 struct ca0132_spec *spec = codec->spec; in ca0132_setup_defaults() local
4272 if (spec->dsp_state != DSP_DOWNLOADED) in ca0132_setup_defaults()
4367 struct ca0132_spec *spec = codec->spec; in ca0132_download_dsp() local
4373 if (spec->dsp_state == DSP_DOWNLOAD_FAILED) in ca0132_download_dsp()
4377 spec->dsp_state = DSP_DOWNLOADING; in ca0132_download_dsp()
4379 spec->dsp_state = DSP_DOWNLOAD_FAILED; in ca0132_download_dsp()
4381 spec->dsp_state = DSP_DOWNLOADED; in ca0132_download_dsp()
4383 if (spec->dsp_state == DSP_DOWNLOADED) in ca0132_download_dsp()
4390 struct ca0132_spec *spec = codec->spec; in ca0132_process_dsp_response() local
4393 if (spec->wait_scp) { in ca0132_process_dsp_response()
4395 spec->wait_scp = 0; in ca0132_process_dsp_response()
4403 struct ca0132_spec *spec = codec->spec; in hp_callback() local
4409 cancel_delayed_work_sync(&spec->unsol_hp_work); in hp_callback()
4410 schedule_delayed_work(&spec->unsol_hp_work, msecs_to_jiffies(500)); in hp_callback()
4498 struct ca0132_spec *spec = codec->spec; in ca0132_init_chip() local
4503 mutex_init(&spec->chipio_mutex); in ca0132_init_chip()
4505 spec->cur_out_type = SPEAKER_OUT; in ca0132_init_chip()
4506 spec->cur_mic_type = DIGITAL_MIC; in ca0132_init_chip()
4507 spec->cur_mic_boost = 0; in ca0132_init_chip()
4510 spec->vnode_lvol[i] = 0x5a; in ca0132_init_chip()
4511 spec->vnode_rvol[i] = 0x5a; in ca0132_init_chip()
4512 spec->vnode_lswitch[i] = 0; in ca0132_init_chip()
4513 spec->vnode_rswitch[i] = 0; in ca0132_init_chip()
4522 spec->effects_switch[i] = on ? 1 : 0; in ca0132_init_chip()
4525 spec->voicefx_val = 0; in ca0132_init_chip()
4526 spec->effects_switch[PLAY_ENHANCEMENT - EFFECT_START_NID] = 1; in ca0132_init_chip()
4527 spec->effects_switch[CRYSTAL_VOICE - EFFECT_START_NID] = 0; in ca0132_init_chip()
4544 struct ca0132_spec *spec = codec->spec; in ca0132_init() local
4545 struct auto_pin_cfg *cfg = &spec->autocfg; in ca0132_init()
4548 if (spec->dsp_state != DSP_DOWNLOAD_FAILED) in ca0132_init()
4549 spec->dsp_state = DSP_DOWNLOAD_INIT; in ca0132_init()
4550 spec->curr_chip_addx = INVALID_CHIP_ADDRESS; in ca0132_init()
4558 snd_hda_sequence_write(codec, spec->base_init_verbs); in ca0132_init()
4565 for (i = 0; i < spec->num_outputs; i++) in ca0132_init()
4566 init_output(codec, spec->out_pins[i], spec->dacs[0]); in ca0132_init()
4568 init_output(codec, cfg->dig_out_pins[0], spec->dig_out); in ca0132_init()
4570 for (i = 0; i < spec->num_inputs; i++) in ca0132_init()
4571 init_input(codec, spec->input_pins[i], spec->adcs[i]); in ca0132_init()
4573 init_input(codec, cfg->dig_in_pin, spec->dig_in); in ca0132_init()
4575 for (i = 0; i < spec->num_init_verbs; i++) in ca0132_init()
4576 snd_hda_sequence_write(codec, spec->init_verbs[i]); in ca0132_init()
4590 struct ca0132_spec *spec = codec->spec; in ca0132_free() local
4592 cancel_delayed_work_sync(&spec->unsol_hp_work); in ca0132_free()
4594 snd_hda_sequence_write(codec, spec->base_exit_verbs); in ca0132_free()
4597 kfree(codec->spec); in ca0132_free()
4610 struct ca0132_spec *spec = codec->spec; in ca0132_config() local
4611 struct auto_pin_cfg *cfg = &spec->autocfg; in ca0132_config()
4613 spec->dacs[0] = 0x2; in ca0132_config()
4614 spec->dacs[1] = 0x3; in ca0132_config()
4615 spec->dacs[2] = 0x4; in ca0132_config()
4617 spec->multiout.dac_nids = spec->dacs; in ca0132_config()
4618 spec->multiout.num_dacs = 3; in ca0132_config()
4619 spec->multiout.max_channels = 2; in ca0132_config()
4621 spec->num_outputs = 2; in ca0132_config()
4622 spec->out_pins[0] = 0x0b; /* speaker out */ in ca0132_config()
4623 spec->out_pins[1] = 0x10; /* headphone out */ in ca0132_config()
4624 spec->shared_out_nid = 0x2; in ca0132_config()
4626 spec->num_inputs = 3; in ca0132_config()
4627 spec->adcs[0] = 0x7; /* digital mic / analog mic1 */ in ca0132_config()
4628 spec->adcs[1] = 0x8; /* analog mic2 */ in ca0132_config()
4629 spec->adcs[2] = 0xa; /* what u hear */ in ca0132_config()
4630 spec->shared_mic_nid = 0x7; in ca0132_config()
4632 spec->input_pins[0] = 0x12; in ca0132_config()
4633 spec->input_pins[1] = 0x11; in ca0132_config()
4634 spec->input_pins[2] = 0x13; in ca0132_config()
4637 spec->dig_out = 0x05; in ca0132_config()
4638 spec->multiout.dig_out_nid = spec->dig_out; in ca0132_config()
4642 spec->dig_in = 0x09; in ca0132_config()
4649 struct ca0132_spec *spec; in patch_ca0132() local
4654 spec = kzalloc(sizeof(*spec), GFP_KERNEL); in patch_ca0132()
4655 if (!spec) in patch_ca0132()
4657 codec->spec = spec; in patch_ca0132()
4658 spec->codec = codec; in patch_ca0132()
4660 spec->dsp_state = DSP_DOWNLOAD_INIT; in patch_ca0132()
4661 spec->num_mixers = 1; in patch_ca0132()
4662 spec->mixers[0] = ca0132_mixer; in patch_ca0132()
4664 spec->base_init_verbs = ca0132_base_init_verbs; in patch_ca0132()
4665 spec->base_exit_verbs = ca0132_base_exit_verbs; in patch_ca0132()
4666 spec->init_verbs[0] = ca0132_init_verbs0; in patch_ca0132()
4667 spec->init_verbs[1] = ca0132_init_verbs1; in patch_ca0132()
4668 spec->num_init_verbs = 2; in patch_ca0132()
4670 INIT_DELAYED_WORK(&spec->unsol_hp_work, ca0132_unsol_hp_delayed); in patch_ca0132()
4676 err = snd_hda_parse_pin_def_config(codec, &spec->autocfg, NULL); in patch_ca0132()