Lines Matching refs:mout

2830 	struct hda_multi_out *mout = snd_kcontrol_chip(kcontrol);  in spdif_share_sw_get()  local
2831 ucontrol->value.integer.value[0] = mout->share_spdif; in spdif_share_sw_get()
2838 struct hda_multi_out *mout = snd_kcontrol_chip(kcontrol); in spdif_share_sw_put() local
2839 mout->share_spdif = !!ucontrol->value.integer.value[0]; in spdif_share_sw_put()
2857 struct hda_multi_out *mout) in snd_hda_create_spdif_share_sw() argument
2861 if (!mout->dig_out_nid) in snd_hda_create_spdif_share_sw()
2864 kctl = snd_ctl_new1(&spdif_share_sw, mout); in snd_hda_create_spdif_share_sw()
2868 return snd_hda_ctl_add(codec, mout->dig_out_nid, kctl); in snd_hda_create_spdif_share_sw()
4135 struct hda_multi_out *mout) in snd_hda_multi_out_dig_open() argument
4138 if (mout->dig_out_used == HDA_DIG_ANALOG_DUP) in snd_hda_multi_out_dig_open()
4140 cleanup_dig_out_stream(codec, mout->dig_out_nid); in snd_hda_multi_out_dig_open()
4141 mout->dig_out_used = HDA_DIG_EXCLUSIVE; in snd_hda_multi_out_dig_open()
4156 struct hda_multi_out *mout, in snd_hda_multi_out_dig_prepare() argument
4162 setup_dig_out_stream(codec, mout->dig_out_nid, stream_tag, format); in snd_hda_multi_out_dig_prepare()
4174 struct hda_multi_out *mout) in snd_hda_multi_out_dig_cleanup() argument
4177 cleanup_dig_out_stream(codec, mout->dig_out_nid); in snd_hda_multi_out_dig_cleanup()
4189 struct hda_multi_out *mout) in snd_hda_multi_out_dig_close() argument
4192 mout->dig_out_used = 0; in snd_hda_multi_out_dig_close()
4210 struct hda_multi_out *mout, in snd_hda_multi_out_analog_open() argument
4215 runtime->hw.channels_max = mout->max_channels; in snd_hda_multi_out_analog_open()
4216 if (mout->dig_out_nid) { in snd_hda_multi_out_analog_open()
4217 if (!mout->analog_rates) { in snd_hda_multi_out_analog_open()
4218 mout->analog_rates = hinfo->rates; in snd_hda_multi_out_analog_open()
4219 mout->analog_formats = hinfo->formats; in snd_hda_multi_out_analog_open()
4220 mout->analog_maxbps = hinfo->maxbps; in snd_hda_multi_out_analog_open()
4222 runtime->hw.rates = mout->analog_rates; in snd_hda_multi_out_analog_open()
4223 runtime->hw.formats = mout->analog_formats; in snd_hda_multi_out_analog_open()
4224 hinfo->maxbps = mout->analog_maxbps; in snd_hda_multi_out_analog_open()
4226 if (!mout->spdif_rates) { in snd_hda_multi_out_analog_open()
4227 snd_hda_query_supported_pcm(codec, mout->dig_out_nid, in snd_hda_multi_out_analog_open()
4228 &mout->spdif_rates, in snd_hda_multi_out_analog_open()
4229 &mout->spdif_formats, in snd_hda_multi_out_analog_open()
4230 &mout->spdif_maxbps); in snd_hda_multi_out_analog_open()
4233 if (mout->share_spdif) { in snd_hda_multi_out_analog_open()
4234 if ((runtime->hw.rates & mout->spdif_rates) && in snd_hda_multi_out_analog_open()
4235 (runtime->hw.formats & mout->spdif_formats)) { in snd_hda_multi_out_analog_open()
4236 runtime->hw.rates &= mout->spdif_rates; in snd_hda_multi_out_analog_open()
4237 runtime->hw.formats &= mout->spdif_formats; in snd_hda_multi_out_analog_open()
4238 if (mout->spdif_maxbps < hinfo->maxbps) in snd_hda_multi_out_analog_open()
4239 hinfo->maxbps = mout->spdif_maxbps; in snd_hda_multi_out_analog_open()
4241 mout->share_spdif = 0; in snd_hda_multi_out_analog_open()
4264 struct hda_multi_out *mout, in snd_hda_multi_out_analog_prepare() argument
4269 const hda_nid_t *nids = mout->dac_nids; in snd_hda_multi_out_analog_prepare()
4275 spdif = snd_hda_spdif_out_of_nid(codec, mout->dig_out_nid); in snd_hda_multi_out_analog_prepare()
4276 if (mout->dig_out_nid && mout->share_spdif && in snd_hda_multi_out_analog_prepare()
4277 mout->dig_out_used != HDA_DIG_EXCLUSIVE) { in snd_hda_multi_out_analog_prepare()
4279 snd_hda_is_supported_format(codec, mout->dig_out_nid, in snd_hda_multi_out_analog_prepare()
4282 mout->dig_out_used = HDA_DIG_ANALOG_DUP; in snd_hda_multi_out_analog_prepare()
4283 setup_dig_out_stream(codec, mout->dig_out_nid, in snd_hda_multi_out_analog_prepare()
4286 mout->dig_out_used = 0; in snd_hda_multi_out_analog_prepare()
4287 cleanup_dig_out_stream(codec, mout->dig_out_nid); in snd_hda_multi_out_analog_prepare()
4295 if (!mout->no_share_stream && in snd_hda_multi_out_analog_prepare()
4296 mout->hp_nid && mout->hp_nid != nids[HDA_FRONT]) in snd_hda_multi_out_analog_prepare()
4298 snd_hda_codec_setup_stream(codec, mout->hp_nid, stream_tag, in snd_hda_multi_out_analog_prepare()
4301 for (i = 0; i < ARRAY_SIZE(mout->hp_out_nid); i++) in snd_hda_multi_out_analog_prepare()
4302 if (!mout->no_share_stream && mout->hp_out_nid[i]) in snd_hda_multi_out_analog_prepare()
4304 mout->hp_out_nid[i], in snd_hda_multi_out_analog_prepare()
4308 for (i = 1; i < mout->num_dacs; i++) { in snd_hda_multi_out_analog_prepare()
4312 else if (!mout->no_share_stream) /* copy front */ in snd_hda_multi_out_analog_prepare()
4318 for (i = 0; i < ARRAY_SIZE(mout->extra_out_nid); i++) { in snd_hda_multi_out_analog_prepare()
4320 if (!mout->extra_out_nid[i]) in snd_hda_multi_out_analog_prepare()
4324 else if (!mout->no_share_stream) in snd_hda_multi_out_analog_prepare()
4326 snd_hda_codec_setup_stream(codec, mout->extra_out_nid[i], in snd_hda_multi_out_analog_prepare()
4340 struct hda_multi_out *mout) in snd_hda_multi_out_analog_cleanup() argument
4342 const hda_nid_t *nids = mout->dac_nids; in snd_hda_multi_out_analog_cleanup()
4345 for (i = 0; i < mout->num_dacs; i++) in snd_hda_multi_out_analog_cleanup()
4347 if (mout->hp_nid) in snd_hda_multi_out_analog_cleanup()
4348 snd_hda_codec_cleanup_stream(codec, mout->hp_nid); in snd_hda_multi_out_analog_cleanup()
4349 for (i = 0; i < ARRAY_SIZE(mout->hp_out_nid); i++) in snd_hda_multi_out_analog_cleanup()
4350 if (mout->hp_out_nid[i]) in snd_hda_multi_out_analog_cleanup()
4352 mout->hp_out_nid[i]); in snd_hda_multi_out_analog_cleanup()
4353 for (i = 0; i < ARRAY_SIZE(mout->extra_out_nid); i++) in snd_hda_multi_out_analog_cleanup()
4354 if (mout->extra_out_nid[i]) in snd_hda_multi_out_analog_cleanup()
4356 mout->extra_out_nid[i]); in snd_hda_multi_out_analog_cleanup()
4358 if (mout->dig_out_nid && mout->dig_out_used == HDA_DIG_ANALOG_DUP) { in snd_hda_multi_out_analog_cleanup()
4359 cleanup_dig_out_stream(codec, mout->dig_out_nid); in snd_hda_multi_out_analog_cleanup()
4360 mout->dig_out_used = 0; in snd_hda_multi_out_analog_cleanup()