ALSA: hda/realtek - Read the cached pinctl value in fixups
authorTakashi Iwai <tiwai@suse.de>
Thu, 10 Jan 2013 09:12:22 +0000 (10:12 +0100)
committerTakashi Iwai <tiwai@suse.de>
Sat, 12 Jan 2013 07:44:33 +0000 (08:44 +0100)
... instead of reading the value from the codec at each time.

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

index 183b951fa63b7f10f55c3bf14b5a946bc15f2c4f..7a4b78376303d62a48f995e5e9b8629befaac0ea 100644 (file)
@@ -1737,8 +1737,7 @@ static void alc889_fixup_mbp_vref(struct hda_codec *codec,
                unsigned int val = snd_hda_codec_get_pincfg(codec, nids[i]);
                if (get_defcfg_device(val) != AC_JACK_HP_OUT)
                        continue;
-               val = snd_hda_codec_read(codec, nids[i], 0,
-                                        AC_VERB_GET_PIN_WIDGET_CONTROL, 0);
+               val = snd_hda_codec_get_pin_target(codec, nids[i]);
                val |= AC_PINCTL_VREF_80;
                snd_hda_set_pin_ctl(codec, nids[i], val);
                spec->gen.keep_vref_in_automute = 1;
@@ -1758,8 +1757,7 @@ static void alc889_fixup_imac91_vref(struct hda_codec *codec,
                return;
        for (i = 0; i < ARRAY_SIZE(nids); i++) {
                unsigned int val;
-               val = snd_hda_codec_read(codec, nids[i], 0,
-                                        AC_VERB_GET_PIN_WIDGET_CONTROL, 0);
+               val = snd_hda_codec_get_pin_target(codec, nids[i]);
                val |= AC_PINCTL_VREF_50;
                snd_hda_set_pin_ctl(codec, nids[i], val);
        }
@@ -3137,8 +3135,7 @@ static void alc861_fixup_asus_amp_vref_0f(struct hda_codec *codec,
 
        if (action != HDA_FIXUP_ACT_INIT)
                return;
-       val = snd_hda_codec_read(codec, 0x0f, 0,
-                                AC_VERB_GET_PIN_WIDGET_CONTROL, 0);
+       val = snd_hda_codec_get_pin_target(codec, 0x0f);
        if (!(val & (AC_PINCTL_IN_EN | AC_PINCTL_OUT_EN)))
                val |= AC_PINCTL_IN_EN;
        val |= AC_PINCTL_VREF_50;
This page took 0.027282 seconds and 5 git commands to generate.