Re: 2.6.38.4 broke my audio

From: Takashi Iwai
Date: Wed Apr 27 2011 - 11:47:32 EST


At Wed, 27 Apr 2011 21:57:32 +0700,
Emmanuel Benisty wrote:
>
> On Wed, Apr 27, 2011 at 3:36 PM, Takashi Iwai <tiwai@xxxxxxx> wrote:
> > At Wed, 27 Apr 2011 08:15:28 +0700,
> > Emmanuel Benisty wrote:
> >>
> >> [1 Â<text/plain; UTF-8 (quoted-printable)>]
> >> On Tue, Apr 26, 2011 at 7:49 PM, Takashi Iwai <tiwai@xxxxxxx> wrote:
> >> > At Tue, 26 Apr 2011 08:42:59 +0700,
> >> > Emmanuel Benisty wrote:
> >> >>
> >> >> On Tue, Apr 26, 2011 at 3:25 AM, Takashi Iwai <tiwai@xxxxxxx> wrote:
> >> >> > At Mon, 25 Apr 2011 10:34:09 -0700,
> >> >> > Greg KH wrote:
> >> >> >>
> >> >> >> On Mon, Apr 25, 2011 at 11:25:29AM +0200, Takashi Iwai wrote:
> >> >> >> > At Sun, 24 Apr 2011 17:01:26 -0700,
> >> >> >> > Greg KH wrote:
> >> >> >> > >
> >> >> >> > > On Sun, Apr 24, 2011 at 11:30:37AM +0100, Andrew Clayton wrote:
> >> >> >> > > > Hi guys.
> >> >> >> > > >
> >> >> >> > > > Just upgraded to .4 from .3 and found my audio was _really_ quiet. All
> >> >> >> > > > the mixers looked sane.
> >> >> >> > > >
> >> >> >> > > > A quick check of the changelog and a revert of:
> >> >> >> > > >
> >> >> >> > > > commit 58541cc27531727f7120683a7cb123ee3ada4bd4
> >> >> >> > > > Author: Takashi Iwai <tiwai@xxxxxxx>
> >> >> >> > > > Date: Â Mon Mar 28 12:05:31 2011 +0200
> >> >> >> > > >
> >> >> >> > > > Â Â ALSA: hda - Fix pin-config of Gigabyte mobo
> >> >> >> > > >
> >> >> >> > > > Â Â commit c6b358748e19ce7e230b0926ac42696bc485a562 upstream.
> >> >> >> > > >
> >> >> >> > > > Â Â Use pin-fix instead of the static quirk for Gigabyte mobos 1458:a002.
> >> >> >> > > >
> >> >> >> > > > Â Â Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=677256
> >> >> >> > > > Â Â Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
> >> >> >> > > > Â Â Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>
> >> >> >> > > >
> >> >> >> > > > made it normal again.
> >> >> >> > >
> >> >> >> > > Takashi, do you have a fix for this, or should I revert this from the
> >> >> >> > > .38 stable tree? ÂIt looks like we now have 2 reports of this problem.
> >> >> >> >
> >> >> >> > If we need to revert, I'll do it in the upstream first, as it must hit
> >> >> >> > to 2.6.39, too.
> >> >> >>
> >> >> >> True.
> >> >> >>
> >> >> >> > But let me check this breakage first. ÂI'll take a look at it more
> >> >> >> > deeply tomorrow.
> >> >> >>
> >> >> >> Ok, that sounds good.
> >> >> >
> >> >> > Thanks.
> >> >> >
> >> >> > Andrew, could you give alsa-info.sh outputs on your machine?
> >> >> > Preferably, the outputs both before and after the kernel update would
> >> >> > be really helpful.
> >> >>
> >> >> In case it might help, mine are attached too.
> >> >
> >> > Thanks. ÂBut the output after update (alsa-info.txt.bad) looks weird.
> >> > It contains unexpected pin-update for NID 0x15 (found in
> >> > /sys/class/sound/hwC0D0/driver_pin_configs), and thus the mixer
> >> > elements created don't match with the results on HD-audio emulator.
> >> >
> >> > Could you double-check whether you have no modification over 2.6.38.4
> >> > driver?
> >>
> >> Hi Takashi,
> >>
> >> To double check, I have rebuilt .3 and .4 straight from kernel.org
> >> sources with the same config (which I attached, just in case).
> >> alsa-info.sh outputs are attached.
> >
> > Thanks. ÂThe bad output still shows the strange pin-config for NID
> > 0x15 while it's not found in the good output.
> >
> > Could you check the following?
> >
> > 1. Set model=auto option to snd-hda-intel module and boot 2.6.38.3.
> > Â Get alsa-info.sh output.
> >
> > 2. Apply fix1.diff patch below to 2.6.38.4, and boot, get alsa-info.sh
> > Â again.
> >
> > 3. Reviert fix1.diff, and apply fix2.diff to 2.6.38.4. ÂThe same
> > Â procedure.
> >
> > The point to be checked is the widget 0x15. ÂIn a good case, it should
> > have the pin config such as:
> > ÂPin Default 0x411111f0: [N/A] Speaker at Ext Rear
> >
> > In a bad case, the driver modifies this by some reason to
> > ÂPin Default 0x99130112: [Fixed] Speaker at Int ATAPI
>
> Hi Takashi,
>
> alsa-info.sh outputs are attached. fix1 works, fix2 is still broken.

Thanks. Hm, so it happens only with the patch. Puzzling.

Could you check the messages triggered by the patch below?
Does it include 0x15?


Takashi

---
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index da7cdca..b62d57f 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -1738,6 +1738,7 @@ static void alc_apply_fixup(struct hda_codec *codec, int action)
snd_printdd(KERN_INFO "hda_codec: %s: "
"Apply sku override for %s\n",
codec->chip_name, modelname);
+ printk(KERN_DEBUG "XXX hda_codec: sku\n");
spec->cdefine.sku_cfg = fix->v.sku;
spec->cdefine.fixup = 1;
break;
@@ -1748,9 +1749,12 @@ static void alc_apply_fixup(struct hda_codec *codec, int action)
snd_printdd(KERN_INFO "hda_codec: %s: "
"Apply pincfg for %s\n",
codec->chip_name, modelname);
- for (; cfg->nid; cfg++)
+ printk(KERN_DEBUG "XXX hda_codec: pins\n");
+ for (; cfg->nid; cfg++) {
+ printk(KERN_DEBUG "hda_codec: set pincfg 0x%02x to %08x\n", cfg->nid, cfg->val);
snd_hda_codec_set_pincfg(codec, cfg->nid,
cfg->val);
+ }
break;
case ALC_FIXUP_VERBS:
if (action != ALC_FIXUP_ACT_PROBE || !fix->v.verbs)
@@ -1758,6 +1762,7 @@ static void alc_apply_fixup(struct hda_codec *codec, int action)
snd_printdd(KERN_INFO "hda_codec: %s: "
"Apply fix-verbs for %s\n",
codec->chip_name, modelname);
+ printk(KERN_DEBUG "XXX hda_codec: verbs\n");
add_verb(codec->spec, fix->v.verbs);
break;
case ALC_FIXUP_FUNC:
@@ -1766,6 +1771,7 @@ static void alc_apply_fixup(struct hda_codec *codec, int action)
snd_printdd(KERN_INFO "hda_codec: %s: "
"Apply fix-func for %s\n",
codec->chip_name, modelname);
+ printk(KERN_DEBUG "XXX hda_codec: func\n");
fix->v.func(codec, fix, action);
break;
default:
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/