Message ID | 4CAD86CE.10604@canonical.com |
---|---|
State | Rejected |
Delegated to: | Leann Ogasawara |
Headers | show |
On Thu, 2010-10-07 at 10:37 +0200, David Henningsson wrote: > BugLink: https://launchpad.net/bugs/655386 > BugLink: https://launchpad.net/bugs/546769 > BugLink: https://launchpad.net/bugs/648871 > BugLink: https://launchpad.net/bugs/642892 > BugLink: https://launchpad.net/bugs/637291 > BugLink: https://launchpad.net/bugs/637291 > BugLink: https://launchpad.net/bugs/598938 > > SRU Justification (and if that was needed for the Maverick one as well - > the same applies there): > > Impact: Playback and/or recording not working on several new Sony Vaios. > Some report very faint sound, others no sound at all. I guess we get at > least one bug a week for Lucid on these machines. > > Fix: Add fixup verbs to send to the codec. > > Testcase: We ask users to install the latest snapshot, they report back > and it has fixed their problem. > > Regression potential: very low as it only affects Sony Vaios with the > ALC269 chip. > > This Lucid version of the patch also piggybacks a fix for Dell Inspiron > M101z, which is already in Maverick. > Quirked and isolated to specific models. Acked-by: Steve Conklin <sconklin@canonical.com>
On 10/07/2010 09:37 AM, David Henningsson wrote: > BugLink: https://launchpad.net/bugs/655386 > BugLink: https://launchpad.net/bugs/546769 > BugLink: https://launchpad.net/bugs/648871 > BugLink: https://launchpad.net/bugs/642892 > BugLink: https://launchpad.net/bugs/637291 > BugLink: https://launchpad.net/bugs/637291 > BugLink: https://launchpad.net/bugs/598938 > > SRU Justification (and if that was needed for the Maverick one as well - > the same applies there): > > Impact: Playback and/or recording not working on several new Sony Vaios. > Some report very faint sound, others no sound at all. I guess we get at > least one bug a week for Lucid on these machines. > > Fix: Add fixup verbs to send to the codec. > > Testcase: We ask users to install the latest snapshot, they report back > and it has fixed their problem. > > Regression potential: very low as it only affects Sony Vaios with the > ALC269 chip. > > This Lucid version of the patch also piggybacks a fix for Dell Inspiron > M101z, which is already in Maverick. > From the contents it looks ok to me. My only concern would be not to piggy-bag patches. If there are two separate patches upstream, then it is better to apply them individually. That is also better when asking upstream stable about including the patches (which we should do as well. did you?). -Stefan
From 5b933467577052f5703a9fc8da5d5f4e4e7d8600 Mon Sep 17 00:00:00 2001 From: David Henningsson <david.henningsson@canonical.com> Date: Thu, 7 Oct 2010 10:26:41 +0200 Subject: [PATCH] Backport ALC269 fixup verbs for sony vaio and Dell m101z Signed-off-by: David Henningsson <david.henningsson@canonical.com> --- sound/pci/hda/patch_realtek.c | 35 +++++++++++++++++++++++++++++++++++ 1 files changed, 35 insertions(+), 0 deletions(-) diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 06c118c..e196efb 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -13565,6 +13565,35 @@ static struct alc_config_preset alc269_presets[] = { }, }; +enum { + ALC269_FIXUP_SONY_VAIO, + ALC269_FIXUP_DELL_M101Z, +}; + +static const struct alc_fixup alc269_fixups[] = { + [ALC269_FIXUP_SONY_VAIO] = { + .verbs = (const struct hda_verb[]) { + {0x19, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREFGRD}, + {} + } + }, + [ALC269_FIXUP_DELL_M101Z] = { + .verbs = (const struct hda_verb[]) { + /* Enables internal speaker */ + {0x20, AC_VERB_SET_COEF_INDEX, 13}, + {0x20, AC_VERB_SET_PROC_COEF, 0x4040}, + {} + } + }, +}; + +static struct snd_pci_quirk alc269_fixup_tbl[] = { + SND_PCI_QUIRK_VENDOR(0x104d, "Sony VAIO", ALC269_FIXUP_SONY_VAIO), + SND_PCI_QUIRK(0x1028, 0x0470, "Dell M101z", ALC269_FIXUP_DELL_M101Z), + {} +}; + + static int patch_alc269(struct hda_codec *codec) { struct alc_spec *spec; @@ -13589,6 +13618,9 @@ static int patch_alc269(struct hda_codec *codec) board_config = ALC269_AUTO; } + if (board_config == ALC269_AUTO) + alc_pick_fixup(codec, alc269_fixup_tbl, alc269_fixups, 1); + if (board_config == ALC269_AUTO) { /* automatic parse from the BIOS config */ err = alc269_parse_auto_config(codec); @@ -13632,6 +13664,9 @@ static int patch_alc269(struct hda_codec *codec) set_capture_mixer(codec); set_beep_amp(spec, 0x0b, 0x04, HDA_INPUT); + if (board_config == ALC269_AUTO) + alc_pick_fixup(codec, alc269_fixup_tbl, alc269_fixups, 0); + spec->vmaster_nid = 0x02; codec->patch_ops = alc_patch_ops; -- 1.7.1