All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Special AC97 patch for ASUS W1000/CMI9739 laptop.
@ 2005-01-23 16:14 James Courtier-Dutton
  2005-01-24 12:11 ` Takashi Iwai
  0 siblings, 1 reply; 2+ messages in thread
From: James Courtier-Dutton @ 2005-01-23 16:14 UTC (permalink / raw)
  To: alsa-devel

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

This patch fixes sound output on the ASUS W1000 laptop with the CMI9739 
chip. It wrongly reports that it has a SPDIF in, when in fact we wish to 
use the EAPD pin.

Signed off: James@superbug.demon.co.uk

[-- Attachment #2: disable-spdif-in2.diff.txt --]
[-- Type: text/plain, Size: 965 bytes --]

Index: alsa-driver/alsa-kernel/pci/ac97/ac97_patch.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/pci/ac97/ac97_patch.c,v
retrieving revision 1.70
diff -u -r1.70 ac97_patch.c
--- alsa-driver/alsa-kernel/pci/ac97/ac97_patch.c	20 Jan 2005 11:43:19 -0000	1.70
+++ alsa-driver/alsa-kernel/pci/ac97/ac97_patch.c	23 Jan 2005 16:04:31 -0000
@@ -1916,6 +1916,15 @@
 	/* FIXME: set up GPIO */
 	snd_ac97_write_cache(ac97, 0x70, 0x0100);
 	snd_ac97_write_cache(ac97, 0x72, 0x0020);
+	/* Special exception for ASUS W1000/CMI9739. It does not have an SPDIF in. */
+	if (ac97->pci &&
+	     ac97->subsystem_vendor == 0x1043 &&
+	     ac97->subsystem_device == 0x1843) {
+		snd_ac97_write_cache(ac97, AC97_CM9739_SPDIF_CTRL,
+			snd_ac97_read(ac97, AC97_CM9739_SPDIF_CTRL) & ~0x01);
+		snd_ac97_write_cache(ac97, AC97_CM9739_MULTI_CHAN,
+			snd_ac97_read(ac97, AC97_CM9739_MULTI_CHAN) | (1 << 14));
+	}
 
 	return 0;
 }

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2005-01-24 12:11 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-01-23 16:14 [PATCH] Special AC97 patch for ASUS W1000/CMI9739 laptop James Courtier-Dutton
2005-01-24 12:11 ` Takashi Iwai

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.