diff options
author | Takashi Iwai <tiwai@suse.de> | 2011-05-02 04:41:40 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2011-05-02 04:41:40 -0400 |
commit | a3ea8e8f2474c35b4c3e22262991afddb93c4c0e (patch) | |
tree | 648bbeea304950d02e71863673be8154a5e491f6 /sound/pci/hda | |
parent | c2de187e5b0f25b572ac1cb6cdf383f16123717d (diff) | |
parent | ebb47241ea0eac6a5a23404821a2d62f64c68496 (diff) |
Merge branch 'fix/hda' into topic/hda
Diffstat (limited to 'sound/pci/hda')
-rw-r--r-- | sound/pci/hda/hda_codec.c | 4 | ||||
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 30 | ||||
-rw-r--r-- | sound/pci/hda/patch_sigmatel.c | 2 | ||||
-rw-r--r-- | sound/pci/hda/patch_via.c | 10 |
4 files changed, 21 insertions, 25 deletions
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c index 10f429f96163..2c40e415852b 100644 --- a/sound/pci/hda/hda_codec.c +++ b/sound/pci/hda/hda_codec.c | |||
@@ -3730,7 +3730,7 @@ int snd_hda_codec_build_pcms(struct hda_codec *codec) | |||
3730 | * with the proper parameters for set up. | 3730 | * with the proper parameters for set up. |
3731 | * ops.cleanup should be called in hw_free for clean up of streams. | 3731 | * ops.cleanup should be called in hw_free for clean up of streams. |
3732 | * | 3732 | * |
3733 | * This function returns 0 if successfull, or a negative error code. | 3733 | * This function returns 0 if successful, or a negative error code. |
3734 | */ | 3734 | */ |
3735 | int __devinit snd_hda_build_pcms(struct hda_bus *bus) | 3735 | int __devinit snd_hda_build_pcms(struct hda_bus *bus) |
3736 | { | 3736 | { |
@@ -4923,7 +4923,7 @@ EXPORT_SYMBOL_HDA(snd_hda_suspend); | |||
4923 | * | 4923 | * |
4924 | * Returns 0 if successful. | 4924 | * Returns 0 if successful. |
4925 | * | 4925 | * |
4926 | * This fucntion is defined only when POWER_SAVE isn't set. | 4926 | * This function is defined only when POWER_SAVE isn't set. |
4927 | * In the power-save mode, the codec is resumed dynamically. | 4927 | * In the power-save mode, the codec is resumed dynamically. |
4928 | */ | 4928 | */ |
4929 | int snd_hda_resume(struct hda_bus *bus) | 4929 | int snd_hda_resume(struct hda_bus *bus) |
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index faede0f49cca..46959159a77e 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -575,7 +575,7 @@ static int alc_ch_mode_put(struct snd_kcontrol *kcontrol, | |||
575 | 575 | ||
576 | /* | 576 | /* |
577 | * Control the mode of pin widget settings via the mixer. "pc" is used | 577 | * Control the mode of pin widget settings via the mixer. "pc" is used |
578 | * instead of "%" to avoid consequences of accidently treating the % as | 578 | * instead of "%" to avoid consequences of accidentally treating the % as |
579 | * being part of a format specifier. Maximum allowed length of a value is | 579 | * being part of a format specifier. Maximum allowed length of a value is |
580 | * 63 characters plus NULL terminator. | 580 | * 63 characters plus NULL terminator. |
581 | * | 581 | * |
@@ -5896,6 +5896,7 @@ static void fillup_priv_adc_nids(struct hda_codec *codec, hda_nid_t *nids, | |||
5896 | static struct snd_pci_quirk beep_white_list[] = { | 5896 | static struct snd_pci_quirk beep_white_list[] = { |
5897 | SND_PCI_QUIRK(0x1043, 0x829f, "ASUS", 1), | 5897 | SND_PCI_QUIRK(0x1043, 0x829f, "ASUS", 1), |
5898 | SND_PCI_QUIRK(0x1043, 0x83ce, "EeePC", 1), | 5898 | SND_PCI_QUIRK(0x1043, 0x83ce, "EeePC", 1), |
5899 | SND_PCI_QUIRK(0x1043, 0x831a, "EeePC", 1), | ||
5899 | SND_PCI_QUIRK(0x8086, 0xd613, "Intel", 1), | 5900 | SND_PCI_QUIRK(0x8086, 0xd613, "Intel", 1), |
5900 | {} | 5901 | {} |
5901 | }; | 5902 | }; |
@@ -10066,7 +10067,7 @@ static struct snd_pci_quirk alc882_cfg_tbl[] = { | |||
10066 | 10067 | ||
10067 | SND_PCI_QUIRK(0x1028, 0x020d, "Dell Inspiron 530", ALC888_6ST_DELL), | 10068 | SND_PCI_QUIRK(0x1028, 0x020d, "Dell Inspiron 530", ALC888_6ST_DELL), |
10068 | 10069 | ||
10069 | SND_PCI_QUIRK(0x103c, 0x2a3d, "HP Pavillion", ALC883_6ST_DIG), | 10070 | SND_PCI_QUIRK(0x103c, 0x2a3d, "HP Pavilion", ALC883_6ST_DIG), |
10070 | SND_PCI_QUIRK(0x103c, 0x2a4f, "HP Samba", ALC888_3ST_HP), | 10071 | SND_PCI_QUIRK(0x103c, 0x2a4f, "HP Samba", ALC888_3ST_HP), |
10071 | SND_PCI_QUIRK(0x103c, 0x2a60, "HP Lucknow", ALC888_3ST_HP), | 10072 | SND_PCI_QUIRK(0x103c, 0x2a60, "HP Lucknow", ALC888_3ST_HP), |
10072 | SND_PCI_QUIRK(0x103c, 0x2a61, "HP Nettle", ALC883_6ST_DIG), | 10073 | SND_PCI_QUIRK(0x103c, 0x2a61, "HP Nettle", ALC883_6ST_DIG), |
@@ -10093,6 +10094,7 @@ static struct snd_pci_quirk alc882_cfg_tbl[] = { | |||
10093 | SND_PCI_QUIRK(0x1071, 0x8258, "Evesham Voyaeger", ALC883_LAPTOP_EAPD), | 10094 | SND_PCI_QUIRK(0x1071, 0x8258, "Evesham Voyaeger", ALC883_LAPTOP_EAPD), |
10094 | SND_PCI_QUIRK(0x10f1, 0x2350, "TYAN-S2350", ALC888_6ST_DELL), | 10095 | SND_PCI_QUIRK(0x10f1, 0x2350, "TYAN-S2350", ALC888_6ST_DELL), |
10095 | SND_PCI_QUIRK(0x108e, 0x534d, NULL, ALC883_3ST_6ch), | 10096 | SND_PCI_QUIRK(0x108e, 0x534d, NULL, ALC883_3ST_6ch), |
10097 | SND_PCI_QUIRK(0x1458, 0xa002, "Gigabyte P35 DS3R", ALC882_6ST_DIG), | ||
10096 | 10098 | ||
10097 | SND_PCI_QUIRK(0x1462, 0x0349, "MSI", ALC883_TARGA_2ch_DIG), | 10099 | SND_PCI_QUIRK(0x1462, 0x0349, "MSI", ALC883_TARGA_2ch_DIG), |
10098 | SND_PCI_QUIRK(0x1462, 0x040d, "MSI", ALC883_TARGA_2ch_DIG), | 10100 | SND_PCI_QUIRK(0x1462, 0x040d, "MSI", ALC883_TARGA_2ch_DIG), |
@@ -10931,7 +10933,6 @@ enum { | |||
10931 | PINFIX_LENOVO_Y530, | 10933 | PINFIX_LENOVO_Y530, |
10932 | PINFIX_PB_M5210, | 10934 | PINFIX_PB_M5210, |
10933 | PINFIX_ACER_ASPIRE_7736, | 10935 | PINFIX_ACER_ASPIRE_7736, |
10934 | PINFIX_GIGABYTE_880GM, | ||
10935 | }; | 10936 | }; |
10936 | 10937 | ||
10937 | static const struct alc_fixup alc882_fixups[] = { | 10938 | static const struct alc_fixup alc882_fixups[] = { |
@@ -10963,13 +10964,6 @@ static const struct alc_fixup alc882_fixups[] = { | |||
10963 | .type = ALC_FIXUP_SKU, | 10964 | .type = ALC_FIXUP_SKU, |
10964 | .v.sku = ALC_FIXUP_SKU_IGNORE, | 10965 | .v.sku = ALC_FIXUP_SKU_IGNORE, |
10965 | }, | 10966 | }, |
10966 | [PINFIX_GIGABYTE_880GM] = { | ||
10967 | .type = ALC_FIXUP_PINS, | ||
10968 | .v.pins = (const struct alc_pincfg[]) { | ||
10969 | { 0x14, 0x1114410 }, /* set as speaker */ | ||
10970 | { } | ||
10971 | } | ||
10972 | }, | ||
10973 | }; | 10967 | }; |
10974 | 10968 | ||
10975 | static struct snd_pci_quirk alc882_fixup_tbl[] = { | 10969 | static struct snd_pci_quirk alc882_fixup_tbl[] = { |
@@ -10977,7 +10971,6 @@ static struct snd_pci_quirk alc882_fixup_tbl[] = { | |||
10977 | SND_PCI_QUIRK(0x17aa, 0x3a0d, "Lenovo Y530", PINFIX_LENOVO_Y530), | 10971 | SND_PCI_QUIRK(0x17aa, 0x3a0d, "Lenovo Y530", PINFIX_LENOVO_Y530), |
10978 | SND_PCI_QUIRK(0x147b, 0x107a, "Abit AW9D-MAX", PINFIX_ABIT_AW9D_MAX), | 10972 | SND_PCI_QUIRK(0x147b, 0x107a, "Abit AW9D-MAX", PINFIX_ABIT_AW9D_MAX), |
10979 | SND_PCI_QUIRK(0x1025, 0x0296, "Acer Aspire 7736z", PINFIX_ACER_ASPIRE_7736), | 10973 | SND_PCI_QUIRK(0x1025, 0x0296, "Acer Aspire 7736z", PINFIX_ACER_ASPIRE_7736), |
10980 | SND_PCI_QUIRK(0x1458, 0xa002, "Gigabyte", PINFIX_GIGABYTE_880GM), | ||
10981 | {} | 10974 | {} |
10982 | }; | 10975 | }; |
10983 | 10976 | ||
@@ -18489,6 +18482,8 @@ static struct snd_pci_quirk alc662_cfg_tbl[] = { | |||
18489 | ALC662_3ST_6ch_DIG), | 18482 | ALC662_3ST_6ch_DIG), |
18490 | SND_PCI_QUIRK(0x1179, 0xff6e, "Toshiba NB20x", ALC662_AUTO), | 18483 | SND_PCI_QUIRK(0x1179, 0xff6e, "Toshiba NB20x", ALC662_AUTO), |
18491 | SND_PCI_QUIRK(0x144d, 0xca00, "Samsung NC10", ALC272_SAMSUNG_NC10), | 18484 | SND_PCI_QUIRK(0x144d, 0xca00, "Samsung NC10", ALC272_SAMSUNG_NC10), |
18485 | SND_PCI_QUIRK(0x1458, 0xa002, "Gigabyte 945GCM-S2L", | ||
18486 | ALC662_3ST_6ch_DIG), | ||
18492 | SND_PCI_QUIRK(0x152d, 0x2304, "Quanta WH1", ALC663_ASUS_H13), | 18487 | SND_PCI_QUIRK(0x152d, 0x2304, "Quanta WH1", ALC663_ASUS_H13), |
18493 | SND_PCI_QUIRK(0x1565, 0x820f, "Biostar TA780G M2+", ALC662_3ST_6ch_DIG), | 18488 | SND_PCI_QUIRK(0x1565, 0x820f, "Biostar TA780G M2+", ALC662_3ST_6ch_DIG), |
18494 | SND_PCI_QUIRK(0x1631, 0xc10c, "PB RS65", ALC663_ASUS_M51VA), | 18489 | SND_PCI_QUIRK(0x1631, 0xc10c, "PB RS65", ALC663_ASUS_M51VA), |
@@ -19387,7 +19382,7 @@ enum { | |||
19387 | ALC662_FIXUP_IDEAPAD, | 19382 | ALC662_FIXUP_IDEAPAD, |
19388 | ALC272_FIXUP_MARIO, | 19383 | ALC272_FIXUP_MARIO, |
19389 | ALC662_FIXUP_CZC_P10T, | 19384 | ALC662_FIXUP_CZC_P10T, |
19390 | ALC662_FIXUP_GIGABYTE, | 19385 | ALC662_FIXUP_SKU_IGNORE, |
19391 | }; | 19386 | }; |
19392 | 19387 | ||
19393 | static const struct alc_fixup alc662_fixups[] = { | 19388 | static const struct alc_fixup alc662_fixups[] = { |
@@ -19416,20 +19411,17 @@ static const struct alc_fixup alc662_fixups[] = { | |||
19416 | {} | 19411 | {} |
19417 | } | 19412 | } |
19418 | }, | 19413 | }, |
19419 | [ALC662_FIXUP_GIGABYTE] = { | 19414 | [ALC662_FIXUP_SKU_IGNORE] = { |
19420 | .type = ALC_FIXUP_PINS, | 19415 | .type = ALC_FIXUP_SKU, |
19421 | .v.pins = (const struct alc_pincfg[]) { | 19416 | .v.sku = ALC_FIXUP_SKU_IGNORE, |
19422 | { 0x14, 0x1114410 }, /* set as speaker */ | ||
19423 | { } | ||
19424 | } | ||
19425 | }, | 19417 | }, |
19426 | }; | 19418 | }; |
19427 | 19419 | ||
19428 | static struct snd_pci_quirk alc662_fixup_tbl[] = { | 19420 | static struct snd_pci_quirk alc662_fixup_tbl[] = { |
19429 | SND_PCI_QUIRK(0x1025, 0x0308, "Acer Aspire 8942G", ALC662_FIXUP_ASPIRE), | 19421 | SND_PCI_QUIRK(0x1025, 0x0308, "Acer Aspire 8942G", ALC662_FIXUP_ASPIRE), |
19422 | SND_PCI_QUIRK(0x1025, 0x031c, "Gateway NV79", ALC662_FIXUP_SKU_IGNORE), | ||
19430 | SND_PCI_QUIRK(0x1025, 0x038b, "Acer Aspire 8943G", ALC662_FIXUP_ASPIRE), | 19423 | SND_PCI_QUIRK(0x1025, 0x038b, "Acer Aspire 8943G", ALC662_FIXUP_ASPIRE), |
19431 | SND_PCI_QUIRK(0x144d, 0xc051, "Samsung R720", ALC662_FIXUP_IDEAPAD), | 19424 | SND_PCI_QUIRK(0x144d, 0xc051, "Samsung R720", ALC662_FIXUP_IDEAPAD), |
19432 | SND_PCI_QUIRK(0x1458, 0xa002, "Gigabyte", ALC662_FIXUP_GIGABYTE), | ||
19433 | SND_PCI_QUIRK(0x17aa, 0x38af, "Lenovo Ideapad Y550P", ALC662_FIXUP_IDEAPAD), | 19425 | SND_PCI_QUIRK(0x17aa, 0x38af, "Lenovo Ideapad Y550P", ALC662_FIXUP_IDEAPAD), |
19434 | SND_PCI_QUIRK(0x17aa, 0x3a0d, "Lenovo Ideapad Y550", ALC662_FIXUP_IDEAPAD), | 19426 | SND_PCI_QUIRK(0x17aa, 0x3a0d, "Lenovo Ideapad Y550", ALC662_FIXUP_IDEAPAD), |
19435 | SND_PCI_QUIRK(0x1b35, 0x2206, "CZC P10T", ALC662_FIXUP_CZC_P10T), | 19427 | SND_PCI_QUIRK(0x1b35, 0x2206, "CZC P10T", ALC662_FIXUP_CZC_P10T), |
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 6c5af3e77d86..2b590d92ff90 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c | |||
@@ -2475,7 +2475,7 @@ static int stac92xx_hp_switch_put(struct snd_kcontrol *kcontrol, | |||
2475 | 2475 | ||
2476 | spec->hp_switch = ucontrol->value.integer.value[0] ? nid : 0; | 2476 | spec->hp_switch = ucontrol->value.integer.value[0] ? nid : 0; |
2477 | 2477 | ||
2478 | /* check to be sure that the ports are upto date with | 2478 | /* check to be sure that the ports are up to date with |
2479 | * switch changes | 2479 | * switch changes |
2480 | */ | 2480 | */ |
2481 | stac_issue_unsol_event(codec, nid); | 2481 | stac_issue_unsol_event(codec, nid); |
diff --git a/sound/pci/hda/patch_via.c b/sound/pci/hda/patch_via.c index 62fe64c419d5..6a51ffb266f9 100644 --- a/sound/pci/hda/patch_via.c +++ b/sound/pci/hda/patch_via.c | |||
@@ -844,14 +844,18 @@ static void notify_aa_path_ctls(struct hda_codec *codec) | |||
844 | { | 844 | { |
845 | int i; | 845 | int i; |
846 | struct snd_ctl_elem_id id; | 846 | struct snd_ctl_elem_id id; |
847 | const char *labels[] = {"Mic", "Front Mic", "Line"}; | 847 | const char *labels[] = {"Mic", "Front Mic", "Line", "Rear Mic"}; |
848 | struct snd_kcontrol *ctl; | ||
848 | 849 | ||
849 | memset(&id, 0, sizeof(id)); | 850 | memset(&id, 0, sizeof(id)); |
850 | id.iface = SNDRV_CTL_ELEM_IFACE_MIXER; | 851 | id.iface = SNDRV_CTL_ELEM_IFACE_MIXER; |
851 | for (i = 0; i < ARRAY_SIZE(labels); i++) { | 852 | for (i = 0; i < ARRAY_SIZE(labels); i++) { |
852 | sprintf(id.name, "%s Playback Volume", labels[i]); | 853 | sprintf(id.name, "%s Playback Volume", labels[i]); |
853 | snd_ctl_notify(codec->bus->card, SNDRV_CTL_EVENT_MASK_VALUE, | 854 | ctl = snd_hda_find_mixer_ctl(codec, id.name); |
854 | &id); | 855 | if (ctl) |
856 | snd_ctl_notify(codec->bus->card, | ||
857 | SNDRV_CTL_EVENT_MASK_VALUE, | ||
858 | &ctl->id); | ||
855 | } | 859 | } |
856 | } | 860 | } |
857 | 861 | ||