diff options
author | Takashi Iwai <tiwai@suse.de> | 2011-01-13 09:41:45 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2011-01-13 09:42:53 -0500 |
commit | 5870112021fb38e73b25dad3baec4ca0819c594a (patch) | |
tree | a83ea912a4480e49ed76e2053cc896d38e14ea13 /sound | |
parent | b5bfbc670283d1ff21df4cd3f9f036cc47e34ce4 (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')
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index a06c9437cde..b445ae98942 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -1714,6 +1714,7 @@ enum { | |||
1714 | enum { | 1714 | enum { |
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 | ||
1719 | static void alc_apply_fixup(struct hda_codec *codec, int action) | 1720 | static 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); |