Lines Matching refs:mout

2560 	struct hda_multi_out *mout = snd_kcontrol_chip(kcontrol);  in spdif_share_sw_get()  local
2561 ucontrol->value.integer.value[0] = mout->share_spdif; in spdif_share_sw_get()
2568 struct hda_multi_out *mout = snd_kcontrol_chip(kcontrol); in spdif_share_sw_put() local
2569 mout->share_spdif = !!ucontrol->value.integer.value[0]; in spdif_share_sw_put()
2587 struct hda_multi_out *mout) in snd_hda_create_spdif_share_sw() argument
2591 if (!mout->dig_out_nid) in snd_hda_create_spdif_share_sw()
2594 kctl = snd_ctl_new1(&spdif_share_sw, mout); in snd_hda_create_spdif_share_sw()
2598 return snd_hda_ctl_add(codec, mout->dig_out_nid, kctl); in snd_hda_create_spdif_share_sw()
3544 struct hda_multi_out *mout) in snd_hda_multi_out_dig_open() argument
3547 if (mout->dig_out_used == HDA_DIG_ANALOG_DUP) in snd_hda_multi_out_dig_open()
3549 cleanup_dig_out_stream(codec, mout->dig_out_nid); in snd_hda_multi_out_dig_open()
3550 mout->dig_out_used = HDA_DIG_EXCLUSIVE; in snd_hda_multi_out_dig_open()
3565 struct hda_multi_out *mout, in snd_hda_multi_out_dig_prepare() argument
3571 setup_dig_out_stream(codec, mout->dig_out_nid, stream_tag, format); in snd_hda_multi_out_dig_prepare()
3583 struct hda_multi_out *mout) in snd_hda_multi_out_dig_cleanup() argument
3586 cleanup_dig_out_stream(codec, mout->dig_out_nid); in snd_hda_multi_out_dig_cleanup()
3598 struct hda_multi_out *mout) in snd_hda_multi_out_dig_close() argument
3601 mout->dig_out_used = 0; in snd_hda_multi_out_dig_close()
3619 struct hda_multi_out *mout, in snd_hda_multi_out_analog_open() argument
3624 runtime->hw.channels_max = mout->max_channels; in snd_hda_multi_out_analog_open()
3625 if (mout->dig_out_nid) { in snd_hda_multi_out_analog_open()
3626 if (!mout->analog_rates) { in snd_hda_multi_out_analog_open()
3627 mout->analog_rates = hinfo->rates; in snd_hda_multi_out_analog_open()
3628 mout->analog_formats = hinfo->formats; in snd_hda_multi_out_analog_open()
3629 mout->analog_maxbps = hinfo->maxbps; in snd_hda_multi_out_analog_open()
3631 runtime->hw.rates = mout->analog_rates; in snd_hda_multi_out_analog_open()
3632 runtime->hw.formats = mout->analog_formats; in snd_hda_multi_out_analog_open()
3633 hinfo->maxbps = mout->analog_maxbps; in snd_hda_multi_out_analog_open()
3635 if (!mout->spdif_rates) { in snd_hda_multi_out_analog_open()
3636 snd_hda_query_supported_pcm(codec, mout->dig_out_nid, in snd_hda_multi_out_analog_open()
3637 &mout->spdif_rates, in snd_hda_multi_out_analog_open()
3638 &mout->spdif_formats, in snd_hda_multi_out_analog_open()
3639 &mout->spdif_maxbps); in snd_hda_multi_out_analog_open()
3642 if (mout->share_spdif) { in snd_hda_multi_out_analog_open()
3643 if ((runtime->hw.rates & mout->spdif_rates) && in snd_hda_multi_out_analog_open()
3644 (runtime->hw.formats & mout->spdif_formats)) { in snd_hda_multi_out_analog_open()
3645 runtime->hw.rates &= mout->spdif_rates; in snd_hda_multi_out_analog_open()
3646 runtime->hw.formats &= mout->spdif_formats; in snd_hda_multi_out_analog_open()
3647 if (mout->spdif_maxbps < hinfo->maxbps) in snd_hda_multi_out_analog_open()
3648 hinfo->maxbps = mout->spdif_maxbps; in snd_hda_multi_out_analog_open()
3650 mout->share_spdif = 0; in snd_hda_multi_out_analog_open()
3673 struct hda_multi_out *mout, in snd_hda_multi_out_analog_prepare() argument
3678 const hda_nid_t *nids = mout->dac_nids; in snd_hda_multi_out_analog_prepare()
3684 spdif = snd_hda_spdif_out_of_nid(codec, mout->dig_out_nid); in snd_hda_multi_out_analog_prepare()
3685 if (mout->dig_out_nid && mout->share_spdif && in snd_hda_multi_out_analog_prepare()
3686 mout->dig_out_used != HDA_DIG_EXCLUSIVE) { in snd_hda_multi_out_analog_prepare()
3688 snd_hda_is_supported_format(codec, mout->dig_out_nid, in snd_hda_multi_out_analog_prepare()
3691 mout->dig_out_used = HDA_DIG_ANALOG_DUP; in snd_hda_multi_out_analog_prepare()
3692 setup_dig_out_stream(codec, mout->dig_out_nid, in snd_hda_multi_out_analog_prepare()
3695 mout->dig_out_used = 0; in snd_hda_multi_out_analog_prepare()
3696 cleanup_dig_out_stream(codec, mout->dig_out_nid); in snd_hda_multi_out_analog_prepare()
3704 if (!mout->no_share_stream && in snd_hda_multi_out_analog_prepare()
3705 mout->hp_nid && mout->hp_nid != nids[HDA_FRONT]) in snd_hda_multi_out_analog_prepare()
3707 snd_hda_codec_setup_stream(codec, mout->hp_nid, stream_tag, in snd_hda_multi_out_analog_prepare()
3710 for (i = 0; i < ARRAY_SIZE(mout->hp_out_nid); i++) in snd_hda_multi_out_analog_prepare()
3711 if (!mout->no_share_stream && mout->hp_out_nid[i]) in snd_hda_multi_out_analog_prepare()
3713 mout->hp_out_nid[i], in snd_hda_multi_out_analog_prepare()
3717 for (i = 1; i < mout->num_dacs; i++) { in snd_hda_multi_out_analog_prepare()
3721 else if (!mout->no_share_stream) /* copy front */ in snd_hda_multi_out_analog_prepare()
3727 for (i = 0; i < ARRAY_SIZE(mout->extra_out_nid); i++) { in snd_hda_multi_out_analog_prepare()
3729 if (!mout->extra_out_nid[i]) in snd_hda_multi_out_analog_prepare()
3733 else if (!mout->no_share_stream) in snd_hda_multi_out_analog_prepare()
3735 snd_hda_codec_setup_stream(codec, mout->extra_out_nid[i], in snd_hda_multi_out_analog_prepare()
3749 struct hda_multi_out *mout) in snd_hda_multi_out_analog_cleanup() argument
3751 const hda_nid_t *nids = mout->dac_nids; in snd_hda_multi_out_analog_cleanup()
3754 for (i = 0; i < mout->num_dacs; i++) in snd_hda_multi_out_analog_cleanup()
3756 if (mout->hp_nid) in snd_hda_multi_out_analog_cleanup()
3757 snd_hda_codec_cleanup_stream(codec, mout->hp_nid); in snd_hda_multi_out_analog_cleanup()
3758 for (i = 0; i < ARRAY_SIZE(mout->hp_out_nid); i++) in snd_hda_multi_out_analog_cleanup()
3759 if (mout->hp_out_nid[i]) in snd_hda_multi_out_analog_cleanup()
3761 mout->hp_out_nid[i]); in snd_hda_multi_out_analog_cleanup()
3762 for (i = 0; i < ARRAY_SIZE(mout->extra_out_nid); i++) in snd_hda_multi_out_analog_cleanup()
3763 if (mout->extra_out_nid[i]) in snd_hda_multi_out_analog_cleanup()
3765 mout->extra_out_nid[i]); in snd_hda_multi_out_analog_cleanup()
3767 if (mout->dig_out_nid && mout->dig_out_used == HDA_DIG_ANALOG_DUP) { in snd_hda_multi_out_analog_cleanup()
3768 cleanup_dig_out_stream(codec, mout->dig_out_nid); in snd_hda_multi_out_analog_cleanup()
3769 mout->dig_out_used = 0; in snd_hda_multi_out_analog_cleanup()