Re: [Alsa-devel] Re: intel 8x0 went silent in 2.6.11

Lee Revell
2005-03-09T03:03:08Z

[-- Attachment #1: Type: text/plain, Size: 828 bytes --]

On Tue, 2005-03-08 at 20:53 -0500, Mark Canter wrote:
> I think I've gone through every possible value here from asound.state to
> each setting in KDE itself. Still, the only sound that works is the one
> coming from line-out, without the port replicator, no sound exists
> whatsoever. Both of the below controls are set to false in asound.state
> and cooresponding KDE settings in kmix.
>
> I think the concern becomes though, regardless of what kde was doing after
> the fact, this condition didn't exits in <= 2.6.10 when no other
> applications where changed around it.

If you revert both the attached patches, does it work?

They are against alsa CVS, so to back these patches out from your 2.6.11
tree do this:

cd linux-2.6.11/sound/pci/ac97
patch -p0 -R < ac97-2.patch
patch -p0 -R < ac97.patch

Lee

[-- Attachment #2: ac97-2.patch --]
[-- Type: text/x-patch, Size: 579 bytes --]

Index: ac97_patch.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/pci/ac97/ac97_patch.c,v
retrieving revision 1.69
retrieving revision 1.70
diff -u -r1.69 -r1.70
--- ac97_patch.c 17 Jan 2005 13:47:20 -0000 1.69
+++ ac97_patch.c 20 Jan 2005 11:43:19 -0000 1.70
@@ -1113,6 +1113,7 @@
switch (subid) {
case 0x103c0890: /* HP nc6000 */
case 0x103c006d: /* HP nx9105 */
+ case 0x17340088: /* FSC Scenic-W */
/* enable headphone jack sense */
snd_ac97_update_bits(ac97, AC97_AD_JACK_SPDIF, 1<<11, 1<<11);
break;

[-- Attachment #3: ac97.patch --]
[-- Type: text/x-patch, Size: 1379 bytes --]

Index: ac97_patch.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/pci/ac97/ac97_patch.c,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -r1.68 -r1.69
--- ac97_patch.c 11 Jan 2005 15:57:20 -0000 1.68
+++ ac97_patch.c 17 Jan 2005 13:47:20 -0000 1.69
@@ -1107,13 +1107,25 @@
#endif
};

+static void check_ad1981_hp_jack_sense(ac97_t *ac97)
+{
+ u32 subid = ((u32)ac97->subsystem_vendor << 16) | ac97->subsystem_device;
+ switch (subid) {
+ case 0x103c0890: /* HP nc6000 */
+ case 0x103c006d: /* HP nx9105 */
+ /* enable headphone jack sense */
+ snd_ac97_update_bits(ac97, AC97_AD_JACK_SPDIF, 1<<11, 1<<11);
+ break;
+ }
+}
+
int patch_ad1981a(ac97_t *ac97)
{
patch_ad1881(ac97);
ac97->build_ops = &patch_ad1981a_build_ops;
snd_ac97_update_bits(ac97, AC97_AD_MISC, AC97_AD198X_MSPLT, AC97_AD198X_MSPLT);
ac97->flags |= AC97_STEREO_MUTES;
- snd_ac97_update_bits(ac97, AC97_AD_JACK_SPDIF, 1<<11, 1<<11); /* HP jack sense */
+ check_ad1981_hp_jack_sense(ac97);
return 0;
}

@@ -1144,7 +1156,7 @@
ac97->build_ops = &patch_ad1981b_build_ops;
snd_ac97_update_bits(ac97, AC97_AD_MISC, AC97_AD198X_MSPLT, AC97_AD198X_MSPLT);
ac97->flags |= AC97_STEREO_MUTES;
- snd_ac97_update_bits(ac97, AC97_AD_JACK_SPDIF, 1<<11, 1<<11); /* HP jack sense */
+ check_ad1981_hp_jack_sense(ac97);
return 0;
}