• Home
  • Raw
  • Download

Lines Matching refs:mout

2586 	struct hda_multi_out *mout = snd_kcontrol_chip(kcontrol);  in spdif_share_sw_get()  local
2587 ucontrol->value.integer.value[0] = mout->share_spdif; in spdif_share_sw_get()
2594 struct hda_multi_out *mout = snd_kcontrol_chip(kcontrol); in spdif_share_sw_put() local
2595 mout->share_spdif = !!ucontrol->value.integer.value[0]; in spdif_share_sw_put()
2613 struct hda_multi_out *mout) in snd_hda_create_spdif_share_sw() argument
2617 if (!mout->dig_out_nid) in snd_hda_create_spdif_share_sw()
2620 kctl = snd_ctl_new1(&spdif_share_sw, mout); in snd_hda_create_spdif_share_sw()
2624 return snd_hda_ctl_add(codec, mout->dig_out_nid, kctl); in snd_hda_create_spdif_share_sw()
3635 struct hda_multi_out *mout) in snd_hda_multi_out_dig_open() argument
3638 if (mout->dig_out_used == HDA_DIG_ANALOG_DUP) in snd_hda_multi_out_dig_open()
3640 cleanup_dig_out_stream(codec, mout->dig_out_nid); in snd_hda_multi_out_dig_open()
3641 mout->dig_out_used = HDA_DIG_EXCLUSIVE; in snd_hda_multi_out_dig_open()
3656 struct hda_multi_out *mout, in snd_hda_multi_out_dig_prepare() argument
3662 setup_dig_out_stream(codec, mout->dig_out_nid, stream_tag, format); in snd_hda_multi_out_dig_prepare()
3674 struct hda_multi_out *mout) in snd_hda_multi_out_dig_cleanup() argument
3677 cleanup_dig_out_stream(codec, mout->dig_out_nid); in snd_hda_multi_out_dig_cleanup()
3689 struct hda_multi_out *mout) in snd_hda_multi_out_dig_close() argument
3692 mout->dig_out_used = 0; in snd_hda_multi_out_dig_close()
3710 struct hda_multi_out *mout, in snd_hda_multi_out_analog_open() argument
3715 runtime->hw.channels_max = mout->max_channels; in snd_hda_multi_out_analog_open()
3716 if (mout->dig_out_nid) { in snd_hda_multi_out_analog_open()
3717 if (!mout->analog_rates) { in snd_hda_multi_out_analog_open()
3718 mout->analog_rates = hinfo->rates; in snd_hda_multi_out_analog_open()
3719 mout->analog_formats = hinfo->formats; in snd_hda_multi_out_analog_open()
3720 mout->analog_maxbps = hinfo->maxbps; in snd_hda_multi_out_analog_open()
3722 runtime->hw.rates = mout->analog_rates; in snd_hda_multi_out_analog_open()
3723 runtime->hw.formats = mout->analog_formats; in snd_hda_multi_out_analog_open()
3724 hinfo->maxbps = mout->analog_maxbps; in snd_hda_multi_out_analog_open()
3726 if (!mout->spdif_rates) { in snd_hda_multi_out_analog_open()
3727 snd_hda_query_supported_pcm(codec, mout->dig_out_nid, in snd_hda_multi_out_analog_open()
3728 &mout->spdif_rates, in snd_hda_multi_out_analog_open()
3729 &mout->spdif_formats, in snd_hda_multi_out_analog_open()
3730 &mout->spdif_maxbps); in snd_hda_multi_out_analog_open()
3733 if (mout->share_spdif) { in snd_hda_multi_out_analog_open()
3734 if ((runtime->hw.rates & mout->spdif_rates) && in snd_hda_multi_out_analog_open()
3735 (runtime->hw.formats & mout->spdif_formats)) { in snd_hda_multi_out_analog_open()
3736 runtime->hw.rates &= mout->spdif_rates; in snd_hda_multi_out_analog_open()
3737 runtime->hw.formats &= mout->spdif_formats; in snd_hda_multi_out_analog_open()
3738 if (mout->spdif_maxbps < hinfo->maxbps) in snd_hda_multi_out_analog_open()
3739 hinfo->maxbps = mout->spdif_maxbps; in snd_hda_multi_out_analog_open()
3741 mout->share_spdif = 0; in snd_hda_multi_out_analog_open()
3764 struct hda_multi_out *mout, in snd_hda_multi_out_analog_prepare() argument
3769 const hda_nid_t *nids = mout->dac_nids; in snd_hda_multi_out_analog_prepare()
3775 spdif = snd_hda_spdif_out_of_nid(codec, mout->dig_out_nid); in snd_hda_multi_out_analog_prepare()
3776 if (mout->dig_out_nid && mout->share_spdif && in snd_hda_multi_out_analog_prepare()
3777 mout->dig_out_used != HDA_DIG_EXCLUSIVE) { in snd_hda_multi_out_analog_prepare()
3779 snd_hda_is_supported_format(codec, mout->dig_out_nid, in snd_hda_multi_out_analog_prepare()
3782 mout->dig_out_used = HDA_DIG_ANALOG_DUP; in snd_hda_multi_out_analog_prepare()
3783 setup_dig_out_stream(codec, mout->dig_out_nid, in snd_hda_multi_out_analog_prepare()
3786 mout->dig_out_used = 0; in snd_hda_multi_out_analog_prepare()
3787 cleanup_dig_out_stream(codec, mout->dig_out_nid); in snd_hda_multi_out_analog_prepare()
3795 if (!mout->no_share_stream && in snd_hda_multi_out_analog_prepare()
3796 mout->hp_nid && mout->hp_nid != nids[HDA_FRONT]) in snd_hda_multi_out_analog_prepare()
3798 snd_hda_codec_setup_stream(codec, mout->hp_nid, stream_tag, in snd_hda_multi_out_analog_prepare()
3801 for (i = 0; i < ARRAY_SIZE(mout->hp_out_nid); i++) in snd_hda_multi_out_analog_prepare()
3802 if (!mout->no_share_stream && mout->hp_out_nid[i]) in snd_hda_multi_out_analog_prepare()
3804 mout->hp_out_nid[i], in snd_hda_multi_out_analog_prepare()
3808 for (i = 1; i < mout->num_dacs; i++) { in snd_hda_multi_out_analog_prepare()
3812 else if (!mout->no_share_stream) /* copy front */ in snd_hda_multi_out_analog_prepare()
3818 for (i = 0; i < ARRAY_SIZE(mout->extra_out_nid); i++) { in snd_hda_multi_out_analog_prepare()
3820 if (!mout->extra_out_nid[i]) in snd_hda_multi_out_analog_prepare()
3824 else if (!mout->no_share_stream) in snd_hda_multi_out_analog_prepare()
3826 snd_hda_codec_setup_stream(codec, mout->extra_out_nid[i], in snd_hda_multi_out_analog_prepare()
3840 struct hda_multi_out *mout) in snd_hda_multi_out_analog_cleanup() argument
3842 const hda_nid_t *nids = mout->dac_nids; in snd_hda_multi_out_analog_cleanup()
3845 for (i = 0; i < mout->num_dacs; i++) in snd_hda_multi_out_analog_cleanup()
3847 if (mout->hp_nid) in snd_hda_multi_out_analog_cleanup()
3848 snd_hda_codec_cleanup_stream(codec, mout->hp_nid); in snd_hda_multi_out_analog_cleanup()
3849 for (i = 0; i < ARRAY_SIZE(mout->hp_out_nid); i++) in snd_hda_multi_out_analog_cleanup()
3850 if (mout->hp_out_nid[i]) in snd_hda_multi_out_analog_cleanup()
3852 mout->hp_out_nid[i]); in snd_hda_multi_out_analog_cleanup()
3853 for (i = 0; i < ARRAY_SIZE(mout->extra_out_nid); i++) in snd_hda_multi_out_analog_cleanup()
3854 if (mout->extra_out_nid[i]) in snd_hda_multi_out_analog_cleanup()
3856 mout->extra_out_nid[i]); in snd_hda_multi_out_analog_cleanup()
3858 if (mout->dig_out_nid && mout->dig_out_used == HDA_DIG_ANALOG_DUP) { in snd_hda_multi_out_analog_cleanup()
3859 cleanup_dig_out_stream(codec, mout->dig_out_nid); in snd_hda_multi_out_analog_cleanup()
3860 mout->dig_out_used = 0; in snd_hda_multi_out_analog_cleanup()