* 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;
}