|
@@ -543,30 +543,30 @@ static void intel_hdmi_unsol_event(struct hda_codec *codec, unsigned int res)
|
|
|
* Callbacks
|
|
|
*/
|
|
|
|
|
|
-static int intel_hdmi_playback_pcm_cleanup(struct hda_pcm_stream *hinfo,
|
|
|
+static int intel_hdmi_playback_pcm_prepare(struct hda_pcm_stream *hinfo,
|
|
|
struct hda_codec *codec,
|
|
|
+ unsigned int stream_tag,
|
|
|
+ unsigned int format,
|
|
|
struct snd_pcm_substream *substream)
|
|
|
{
|
|
|
- struct intel_hdmi_spec *spec = codec->spec;
|
|
|
+ hdmi_set_channel_count(codec, cvt_nid,
|
|
|
+ substream->runtime->channels);
|
|
|
|
|
|
- hdmi_stop_infoframe_trans(codec, pin_nid);
|
|
|
+ hdmi_setup_audio_infoframe(codec, cvt_nid, substream);
|
|
|
|
|
|
- snd_hda_codec_cleanup_stream(codec, hinfo->nid);
|
|
|
+ snd_hda_codec_setup_stream(codec, hinfo->nid, stream_tag, 0, format);
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-static int intel_hdmi_playback_pcm_prepare(struct hda_pcm_stream *hinfo,
|
|
|
+static int intel_hdmi_playback_pcm_cleanup(struct hda_pcm_stream *hinfo,
|
|
|
struct hda_codec *codec,
|
|
|
- unsigned int stream_tag,
|
|
|
- unsigned int format,
|
|
|
struct snd_pcm_substream *substream)
|
|
|
{
|
|
|
- hdmi_set_channel_count(codec, cvt_nid,
|
|
|
- substream->runtime->channels);
|
|
|
+ struct intel_hdmi_spec *spec = codec->spec;
|
|
|
|
|
|
- hdmi_setup_audio_infoframe(codec, cvt_nid, substream);
|
|
|
+ hdmi_stop_infoframe_trans(codec, pin_nid);
|
|
|
|
|
|
- snd_hda_codec_setup_stream(codec, hinfo->nid, stream_tag, 0, format);
|
|
|
+ snd_hda_codec_cleanup_stream(codec, hinfo->nid);
|
|
|
return 0;
|
|
|
}
|
|
|
|