Commit 5457a980 authored by Wu Fengguang's avatar Wu Fengguang Committed by Takashi Iwai

ALSA: hda: make standalone hdmi_fill_audio_infoframe()

code refactor: make a standalone function hdmi_fill_audio_infoframe().
Signed-off-by: default avatarWu Fengguang <wfg@linux.intel.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent cd896c33
...@@ -246,24 +246,31 @@ static void hdmi_clear_dip_buffers(struct hda_codec *codec) ...@@ -246,24 +246,31 @@ static void hdmi_clear_dip_buffers(struct hda_codec *codec)
#endif #endif
} }
static void hdmi_fill_audio_infoframe(struct hda_codec *codec,
struct hdmi_audio_infoframe *ai)
{
u8 *params = (u8 *)ai;
int i;
hdmi_debug_dip_size(codec);
hdmi_clear_dip_buffers(codec); /* be paranoid */
hdmi_set_dip_index(codec, PIN_NID, 0x0, 0x0);
for (i = 0; i < sizeof(ai); i++)
hdmi_write_dip_byte(codec, PIN_NID, params[i]);
}
static void hdmi_setup_audio_infoframe(struct hda_codec *codec, static void hdmi_setup_audio_infoframe(struct hda_codec *codec,
struct snd_pcm_substream *substream) struct snd_pcm_substream *substream)
{ {
struct hdmi_audio_infoframe audio_infoframe = { struct hdmi_audio_infoframe ai = {
.type = 0x84, .type = 0x84,
.ver = 0x01, .ver = 0x01,
.len = 0x0a, .len = 0x0a,
.CC02_CT47 = substream->runtime->channels - 1, .CC02_CT47 = substream->runtime->channels - 1,
}; };
u8 *params = (u8 *)&audio_infoframe;
int i;
hdmi_debug_dip_size(codec);
hdmi_clear_dip_buffers(codec); /* be paranoid */
hdmi_set_dip_index(codec, PIN_NID, 0x0, 0x0); hdmi_fill_audio_infoframe(codec, &ai);
for (i = 0; i < sizeof(audio_infoframe); i++)
hdmi_write_dip_byte(codec, PIN_NID, params[i]);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment