OSDN Git Service

ALSA: hda - Do sequential writes in snd_hda_gen_init()
authorTakashi Iwai <tiwai@suse.de>
Thu, 20 Dec 2012 10:50:58 +0000 (11:50 +0100)
committerTakashi Iwai <tiwai@suse.de>
Sat, 12 Jan 2013 07:34:04 +0000 (08:34 +0100)
This would reduce the number of actually executed verbs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_generic.c

index f5eb57c..6fb454e 100644 (file)
@@ -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);