Skip to content

Commit

Permalink
ALSA: hda: make standalone hdmi_fill_audio_infoframe()
Browse files Browse the repository at this point in the history
code refactor: make a standalone function hdmi_fill_audio_infoframe().

Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
  • Loading branch information
Wu Fengguang authored and Takashi Iwai committed Nov 19, 2008
1 parent cd896c3 commit 5457a98
Showing 1 changed file with 16 additions and 9 deletions.
25 changes: 16 additions & 9 deletions sound/pci/hda/patch_intelhdmi.c
Original file line number Diff line number Diff line change
Expand Up @@ -246,24 +246,31 @@ static void hdmi_clear_dip_buffers(struct hda_codec *codec)
#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,
struct snd_pcm_substream *substream)
{
struct hdmi_audio_infoframe audio_infoframe = {
struct hdmi_audio_infoframe ai = {
.type = 0x84,
.ver = 0x01,
.len = 0x0a,
.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);
for (i = 0; i < sizeof(audio_infoframe); i++)
hdmi_write_dip_byte(codec, PIN_NID, params[i]);
hdmi_fill_audio_infoframe(codec, &ai);
}


Expand Down

0 comments on commit 5457a98

Please sign in to comment.