aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2011-01-13 09:41:45 -0500
committerTakashi Iwai <tiwai@suse.de>2011-01-13 09:42:53 -0500
commit5870112021fb38e73b25dad3baec4ca0819c594a (patch)
treea83ea912a4480e49ed76e2053cc896d38e14ea13 /sound/pci/hda
parentb5bfbc670283d1ff21df4cd3f9f036cc47e34ce4 (diff)
ALSA: hda - Add fixup-call in init callback
In some cases, the fix-up is required in the init callback to be called both at the first initialization and at the resume. The new action type ALC_FIXUP_ACT_INIT is used for this case. So far, only ALC275_FIXUP_SONY_HWEQ uses this. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda')
-rw-r--r--sound/pci/hda/patch_realtek.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index a06c9437cdeb..b445ae989421 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -1714,6 +1714,7 @@ enum {
1714enum { 1714enum {
1715 ALC_FIXUP_ACT_PRE_PROBE, 1715 ALC_FIXUP_ACT_PRE_PROBE,
1716 ALC_FIXUP_ACT_PROBE, 1716 ALC_FIXUP_ACT_PROBE,
1717 ALC_FIXUP_ACT_INIT,
1717}; 1718};
1718 1719
1719static void alc_apply_fixup(struct hda_codec *codec, int action) 1720static void alc_apply_fixup(struct hda_codec *codec, int action)
@@ -3910,6 +3911,8 @@ static int alc_init(struct hda_codec *codec)
3910 if (spec->init_hook) 3911 if (spec->init_hook)
3911 spec->init_hook(codec); 3912 spec->init_hook(codec);
3912 3913
3914 alc_apply_fixup(codec, ALC_FIXUP_ACT_INIT);
3915
3913 hda_call_check_power_status(codec, 0x01); 3916 hda_call_check_power_status(codec, 0x01);
3914 return 0; 3917 return 0;
3915} 3918}
@@ -14871,7 +14874,7 @@ static void alc269_fixup_hweq(struct hda_codec *codec,
14871{ 14874{
14872 int coef; 14875 int coef;
14873 14876
14874 if (action != ALC_FIXUP_ACT_PROBE) 14877 if (action != ALC_FIXUP_ACT_INIT)
14875 return; 14878 return;
14876 coef = alc_read_coef_idx(codec, 0x1e); 14879 coef = alc_read_coef_idx(codec, 0x1e);
14877 alc_write_coef_idx(codec, 0x1e, coef | 0x80); 14880 alc_write_coef_idx(codec, 0x1e, coef | 0x80);