summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2012-12-20 11:50:58 +0100
committerTakashi Iwai <tiwai@suse.de>2013-01-12 08:34:04 +0100
commit3bbcd274c295011e9377053ff46f725ad5e7dbc0 (patch)
tree872e87edb383b9ab33e727621a340ab41241f882
parent47d46abba2d2046c6bfa37eeb583269d43e659ad (diff)
ALSA: hda - Do sequential writes in snd_hda_gen_init()
This would reduce the number of actually executed verbs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/pci/hda/hda_generic.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sound/pci/hda/hda_generic.c b/sound/pci/hda/hda_generic.c
index f5eb57cdac2d..6fb454eda97f 100644
--- a/sound/pci/hda/hda_generic.c
+++ b/sound/pci/hda/hda_generic.c
@@ -3540,6 +3540,8 @@ int snd_hda_gen_init(struct hda_codec *codec)
snd_hda_apply_verbs(codec);
+ codec->cached_write = 1;
+
init_multi_out(codec);
init_extra_out(codec);
init_multi_io(codec);
@@ -3552,6 +3554,9 @@ int snd_hda_gen_init(struct hda_codec *codec)
snd_hda_gen_line_automute(codec, NULL);
snd_hda_gen_mic_autoswitch(codec, NULL);
+ snd_hda_codec_flush_amp_cache(codec);
+ snd_hda_codec_flush_cmd_cache(codec);
+
if (spec->vmaster_mute.sw_kctl && spec->vmaster_mute.hook)
snd_hda_sync_vmaster_hook(&spec->vmaster_mute);